我正在开发一款针对桌面、平板电脑和智能手机浏览器的网络应用程序。
这个网络应用程序有一个使用彩色盒与iframe
一起实现的照明盒。当浏览器窗口的大小调整或平板/电话的方向发生变化时,Javascript代码会查询窗口的大小,以便调整灯箱中的某些元素。
我面临的问题是,所有的东西都可以在桌面上正常工作(Windows:即:火狐,Chrome,Mac: Safari),iPad & iPhone,但在安卓智能手机(HTC)和安卓仿真器上就不行了。
当从窗口的调整大小事件中查询screen.width
、screen.height
、window.innerWidth
和window.innerHeight
时,Android总是会返回不同的值,该事件会多次触发。
为什么Android浏览器返回如此大的值差异,以及如何可靠地检测浏览器窗口的宽度和高度?
发布于 2013-03-21 04:43:12
在安卓系统上,window.outerWidth和window.outerHeight的屏幕大小是可靠的。根据您的Android版本,innerWidth/高度通常是不正确的。
这是一个非常好的记记的情况。
发布于 2013-08-02 09:29:18
以下是三星平板电脑运行Android4.1的基于读数的差异
发布于 2012-10-04 10:01:33
我花了几个小时才找到解决办法。
window.innerHeight
、window.outerheight
等中唯一的常数是screen.height
。
这个代码给了我最外层的高度:
screen.height / window.devicePixelRatio - window.screenTop
此外,为了支持较早版本的android,请将代码放在setTimeout
中。
我希望这是有帮助的
https://stackoverflow.com/questions/10610743
复制相似问题