Javascript Safari iOS9是否为window.innerHeight返回了错误的值?
这是我的视口元标记:Javascript Safari iOS9是否为window.innerHeight返回了错误的值?,javascript,jquery,ios,safari,ios9,Javascript,Jquery,Ios,Safari,Ios9,这是我的视口元标记: <meta name="viewport" content="user-scalable=no, initial-scale = 1, minimum-scale = 1, maximum-scale = 1, width=device-width"> 在Safari iOS 8上,window.innerHeight和$(window.height()在iPad上都返回相同的值:928 但在Safari iOS 9上,window.innerHe
<meta name="viewport" content="user-scalable=no, initial-scale = 1, minimum-scale = 1, maximum-scale = 1, width=device-width">
在Safari iOS 8上,window.innerHeight
和$(window.height()
在iPad上都返回相同的值:928
但在Safari iOS 9上,window.innerHeight
和$(window.height()
返回不同的值:在运行iOS 9.0的iPhone 6s上分别返回1461和559,在运行iOS 9.1的iPad mini上分别返回1154和905
这是Safari中的一个bug还是有意的?我的iPhone上的1461是从哪里来的?我应该使用
$(window.height()
(它返回我想要的值)而不是window.innerHeight
?是的,我经历了相同的行为
使用$(window.height()
似乎有效,但我想最好更改meta标记
请参见尝试将元标记更改为
<meta name="viewport" content="initial-scale=1.0001, minimum-scale=1.0001, maximum-scale=1.0001, user-scalable=no"/>
将“收缩到适合=否”添加到视口元标记修复了错误的窗口。为我调整大小时的innerHeight值-
这是对我有效的解决方案!!介意解释一下原因吗?升级投票,因为这个黑客解决方案是唯一对我有效的,没有一些javascript设置超时黑客。好的,几分钟后,它又坏了。事实证明,在mobile safari中,布局事件的宽度和高度设置为980px和1487px。对我来说,这是一个多么丑陋的黑客行为,让我们希望苹果能够解决这个问题!这个应该是答案
<meta name="viewport" content="width=device-width initial-scale=1 shrink-to-fit=no">