Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/89.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在Mobile Safari中从window.innerWidth获取不一致的结果_Javascript_Jquery_Mobile Safari - Fatal编程技术网

Javascript 在Mobile Safari中从window.innerWidth获取不一致的结果

Javascript 在Mobile Safari中从window.innerWidth获取不一致的结果,javascript,jquery,mobile-safari,Javascript,Jquery,Mobile Safari,我正在使用此javascript检测浏览器宽度: $(文档).ready(函数(){ 变量宽度=window.innerWidth; }); 它似乎给出了不一致的结果。通过在mobile Safari中反复刷新,我收到了以下两个结果: 它前后不一致地跳转,并且似乎由于页面大小变大(因此所有图像)而加剧。有时它只会返回一个结果,直到我关闭应用程序并重新打开它 有没有更好的方法来获取浏览器的宽度 注: 我已将此添加到标题: 使用$(window.width()对我来说不是一个真正的选项,因为

我正在使用此javascript检测浏览器宽度:

$(文档).ready(函数(){
变量宽度=window.innerWidth;
});

它似乎给出了不一致的结果。通过在mobile Safari中反复刷新,我收到了以下两个结果:

它前后不一致地跳转,并且似乎由于页面大小变大(因此所有图像)而加剧。有时它只会返回一个结果,直到我关闭应用程序并重新打开它

有没有更好的方法来获取浏览器的宽度

注:

  • 我已将此添加到标题:
  • 使用
    $(window.width()
    对我来说不是一个真正的选项,因为它不考虑滚动条
  • 我知道我可以把js放在一个超时函数中,但是这个解决方案对我来说是有问题的,因为我将结果存储在一个变量中,我在整个网站的各个地方使用这个变量
  • 我使用的是运行iOS9.2的iPhone5

谢谢

由于分辨率问题,Safari在vanilla javascript中的宽度不一致。JQuery通常对此进行标准化。尝试使用:

$(window).width()

这应该给你正确的宽度

一个简短的提示——我认识到这个问题的一些变体以前被问过好几次,但到目前为止,我还没有找到一个真正符合我标准的解决方案。如果我错了,我会道歉的!更新:不是这个问题的直接答案,但我想我会提到,我确实在这里找到了一些很好的解决办法-谢谢你的建议!然而,jQuery.com似乎说re:innerWidth—“此方法不适用于窗口和文档对象;对于这些对象,请使用.width()。”对不起,我是想把
width()
,我从您的问题中复制过来的:)我刚刚重新阅读了您的问题,看到您提到不想使用
width()
。然而,根据我的经验,这是我能够在所有浏览器上获得最终宽度的唯一方法。如果您的问题是从页面宽度中扣除滚动条,您可能会发现此解决方案很有用:如果我最终需要走这条路线,这将很有帮助,谢谢!