Javascript 定向更改和调整大小事件存在问题-这两种方法都不能在所有移动浏览器中正常工作
我试图告诉当屏幕大小在移动网站上的变化。问题在于,每个浏览器的实现方式都不同。我想我可以检查方向更改支持并使用它,但会退回到调整事件大小,但这会导致以下问题:Javascript 定向更改和调整大小事件存在问题-这两种方法都不能在所有移动浏览器中正常工作,javascript,android,html,web-applications,mobile,Javascript,Android,Html,Web Applications,Mobile,我试图告诉当屏幕大小在移动网站上的变化。问题在于,每个浏览器的实现方式都不同。我想我可以检查方向更改支持并使用它,但会退回到调整事件大小,但这会导致以下问题: 在Dolphin HD中,方向更改提供了上一个方向的宽度 例如,在纵向图中是384,横向图是589。如果我从纵向旋转到横向,它会向window.innerWidth 384报告方向更改,这是纵向的。如果我旋转到纵向,它报告589,这是横向的宽度 如果我使用resize事件,它会被调用三次 这发生在Chrome、Firefox中。所
- 在Dolphin HD中,方向更改提供了上一个方向的宽度
- 如果我使用resize事件,它会被调用三次李>
解决方案是什么?当启动调整大小事件时,您是否能够使用
document.body.clientWidth
和document.body.clientHeight
读取正确的大小?我不确定,但这在移动设备中仍然应该得到支持。@krillgar是的,在Android上,我似乎可以缓存clientWidth,然后忽略我的侦听器后面的两个调用。但我没有iPhone可供测试,所以我不知道它在那里是如何工作的。在你的帖子中,是不是触发了三次调整大小事件?就像另一个spitball(因为没有其他人响应)一样,你能得到屏幕的方向吗?这可能会很草率,但如果你知道它是横向的,那么这两个值中的较宽值就是你要查找的宽度。调整大小事件是否在方向更改事件之后触发?@krillgar是的,是调整大小事件触发了3次。