[英]Cannot get width of screen without scrollbar using cross-browser expression
我在JavaScript中使用以下表达式来获取屏幕的宽度,这似乎工作得很好,除了它包括滚动时在其中包含垂直滚动条的宽度。
var wMax = Math.max(document.documentElement.clientWidth, window.innerWidth || 0)
问题 :上面的跨浏览器表达式如何进行修改,以便给出除垂直滚动条之外的屏幕宽度? 我需要为此使用JavaScript,而不是jQuery。
更新1:
我发现以下跨浏览器表达式可以给出除垂直滚动条之外的宽度。
var wMax = Math.min(document.documentElement.clientWidth, window.innerWidth
|| screen.width);
screen.width
是显示屏幕的宽度,不是浏览器的窗口(滚动条除外)的宽度。
您应该使用Math.min
代替Math.max
因为没有滚动条的宽度将小于带有滚动条的宽度。
另外,如果有一个无法正常运行的浏览器,则可以尝试获取没有clientWidth
的body或html标签的宽度,例如document.documentElement.scrollWidth
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.