我尝试使用javascript来获取移动设备视口大小,这里我在stackoverflow上找到了一些不错的答案:
他们都建议使用window.innerHeight
和window.innerWidth
来获取视口大小:
var w = Math.max(document.documentElement.clientWidth, window.innerWidth || 0)
var h = Math.max(document.documentElement.clientHeight, window.innerHeight || 0)
但是当设备的浏览器有工具栏或地址栏时,我发现这种方式有时不准确。所以我想出了一种使用devicePixelRatio
获取移动设备视口大小的方法:
if (window.devicePixelRatio) {
var physicsWidth = window.screen.width;
var physicsHeight = window.screen.height;
var viewportWidth = physicsWidth / window.devicePixelRatio;
var viewportHeight = physicsHeight / window.devicePixelRatio;
}
这样可以获得视口大小吗?