Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/423.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 JS方向更改侦听器在iOS上不启动,但在Android上启动_Javascript_Ios_Iphone_Orientation_Screen Orientation - Fatal编程技术网

Javascript JS方向更改侦听器在iOS上不启动,但在Android上启动

Javascript JS方向更改侦听器在iOS上不启动,但在Android上启动,javascript,ios,iphone,orientation,screen-orientation,Javascript,Ios,Iphone,Orientation,Screen Orientation,我有以下代码: window.addEventListener("orientationchange", orientation); 但它不是在运行iOS 10.3的iPhone SE上启动的orientation(),而是在运行安卓5.1的Moto G上启动的 我需要它来更新一些东西,这取决于屏幕的宽度。我使用window.innerWidth和screen.width进行设置,如果未定义(浏览器差异) 我的orientation()如下所示: cpr = Math.floor(window

我有以下代码:

window.addEventListener("orientationchange", orientation);
但它不是在运行iOS 10.3的iPhone SE上启动的
orientation()
,而是在运行安卓5.1的Moto G上启动的

我需要它来更新一些东西,这取决于屏幕的宽度。我使用
window.innerWidth
screen.width
进行设置,如果未定义(浏览器差异)

我的
orientation()
如下所示:

cpr = Math.floor(window.innerWidth/100) - 3;
if (navigator.userAgent.match(/iPhone|iPad|iPod/i) || navigator.userAgent.match(/Android/i)) cpr = Math.min(Math.floor(screen.width/100) - 1, 8);
if (!cpr || cpr <= 0) cpr = 1;
id('times').innerHTML = "";
updateTimes();
cpr=Math.floor(window.innerWidth/100)-3;
如果(navigator.userAgent.match(/iPhone | iPad | iPod/i)| navigator.userAgent.match(/Android/i))cpr=Math.min(Math.floor(screen.width/100)-1,8;

如果(!cpr | | cpr我对resize事件有类似的问题。 我找到了原因

直到最近,Mobile Safari在调整视口大小和页面布局后才正确发布调整大小事件。但是,情况不再如此。相反,它是在页面完全布局之前发布的。onresize回调中任何依赖clientWidth、clientHeight、getBoundingClientRect等的JavaScript现在都已中断n

可能在页面完全布局之前也会触发orientationchange事件,因此window.innerWidth返回错误的值

编辑:


最近我发现
document.documentElement.clientWidth
返回了正确的值。也许这可以帮助您。

我理解您的意思。我以前看到过这个,但我认为这从未影响过我的代码。谢谢!