我尝试了各种方法来确定浏览器客户区的物理像素大小,但是在移动设备上却得到了非整数结果。
例如:window.outerWidth * window.devicePixelRatio
在具有Chrome的Pixel 2上产生1081.5
,即使我知道浏览器的客户区实际上是1080
像素宽。
查看此问题的另一种方法是转到mydevice.io,然后将JS screen.width
与JS pixel-ratio
相乘。
是否有更好的方法来确定物理客户端的大小?
答案 0 :(得分:3)
目前无法执行此操作,但是建议的ResizeObserver
API将来可能会启用此功能。
答案 1 :(得分:-2)
<button onclick="myFunction()">Try it</button>
<p><strong>Note:</strong> The innerWidth and innerHeight properties are not supported in IE8 and earlier.</p>
<p id="demo"></p>
<script>
function myFunction() {
var w = window.innerWidth;
var h = window.innerHeight;
document.getElementById("demo").innerHTML = "Width: " + w + "<br>Height: " + h;
}
</script>
答案 2 :(得分:-2)
如果要排除客户端任务栏,则可以使用ItemsSource
和window.screen.availHeight
。
否则,请使用window.screen.availWidth
和window.screen.height
。