首先:是的,我使用了谷歌,我什至进入了谷歌搜索结果的阴暗面。
在 Android 2.3.5 window.innerHeight 上使用 Android Nexus S 和默认浏览器会报告错误的值。
它报告 window.height 的值(应该是 452)减去键盘高度(207)。这特别发生在重新加载后(触摸地址栏并单击“开始”)。
此示例代码返回错误的结果:
$(function() {
alert(window.innerHeight); // 245
setTimeout(function() {
alert(window.innerHeight); // 245
}, 1000);
});
以下都返回错误的结果:
$(body).height(); // (way) too high
screen.height; // 245
window.outerHeight; // 600+
document.body.offsetHeight; //646
screen.height / window.devicePixelRatio - window.screenTop; //125.xxx;
window.onResize 事件不会触发,但是,将其旋转两次确实可以解决高度问题(但我不能告诉我的客户这样做)。
我弄乱了视口。这是我目前的:
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1, user-scalable=no target-densityDpi=160" />
我希望我错过了互联网上的一个利基角落,在那里可以使用 android 和 window.innerHeight 的圣杯(并且可以免费使用;)
因此,如果您知道任何解决方案,或者过去修复过类似问题的任何东西,请分享:)