在浏览器方向更改触发之前显示旋转

时间:2017-07-29 18:14:41

标签: javascript mobile-safari orientation-changes

我有两个截然不同的页面显示,具体取决于横向或纵向。该页面上的第一个img根据方向分配(通过javascript)横向或纵向比例的src。这适用于所有测试桌面计算机(Windows / Mac)上的Safari,Chrome,Firefox,使用Chrome或Firefox的所有经过测试的Android设备,以及IOS iPad - 它在iPhone 5/6(可能是7)上打破了。

在.ready javascript代码中,我使用$(“body”)。css(“visibility”,“hidden”)空白页面,执行格式化,将图像的“src”设置为portraitformatpicture.jpg或landscapeformatpicture .jpg然后用$(“body”)。css(“visibility”,“visible”)重新设置屏幕。

此方法实际上适用于所有情况 - 旋转设备会导致屏幕变为空白,之后会出现正确定向的图像。

此问题仅适用于iPhone上的IOS Safari - 当设备旋转时,您会看到当前页面以新方向显示,并显示其他(上一个)方向的图像。您会看到显示页面的新方向向侧面翻转“一会儿”(100毫秒),此时“orientationchange”事件在浏览器中触发,允许javascript运行,从而正确切换图像和格式。

所以问题不在于不会发生orientationchange事件,而是在任何特定于方向的逻辑有机会运行之前页面是可见的。

其他人如何解决这个问题?没有通知我知道这可以通知javascript屏幕方向即将发生变化,只有一个已经发生...

0 个答案:

没有答案