Чтобы обеспечить полное качество на холсте, я хотел использовать фактическое количество пикселей, которое будет использовать холст на экране. Содержимое веб-страницы, для которой я кодирую, исправлено до 465px. Но вы можете себе представить, что холст с 465px не очень приятный. А поскольку современные мониторы имеют больше пикселей, я думал, что смогу использовать это в свою пользу. Я пробовал разные вещи, такие как innderWidth, clientWidth и нормальная ширина, но ничего не работало. Мне действительно нужна функция, которая изменяется при перезагрузке браузера с другим увеличением.Получение на экране Ширина элемента
HTML:
<div id="myTargetDiv"></div>
Javascript:
<script>
$("#myTargetDiv").html("<canvas id='myCanvas' style='widt: 100%" width="
+ document.getElementById("contentMain").clientWidth + "' height='"
+ document.getElementById("contentMain").clientheight
+ "'>Your Browser does not support the HTML5 canvas tag</canvas>");
</script>
Я был бы рад, если бы вы могли обеспечить решение в JS или в Jquery
Возможная Дубликат [Общая ширина элемента] (http://stackoverflow.com/questions/349705/total-width-of-element-including-padding-and-border-in-jquery) и [ множество похожих ответов] (http://stackoverflow.com/search?q=jquery+width+of+element), найденный путем простого поиска SO. – Rob
@Rob 1) Ответ, приведенный в этом комментарии, даже не работает. 2) Даже если он сработает, он вернет ширину, определенную в css. Мне действительно нужно ** на экране ** ширина – Joel
Не так много вы можете сделать, если хотите, чтобы он работал с разными уровнями масштабирования. Не существует стандартного способа определения настройки масштабирования. Хотя для Firefox и Chrome я использую window.devicePixelRatio, поскольку он изменяется, чтобы отразить настройку масштабирования. т.е. увеличить 110% .devicePixelRatio = 1.100 Затем просто умножьте innerWidth и innerHeight на это значение. Но я не знаю, что сделают другие или более старые браузеры. – Blindman67