我知道在iPhone的Safari浏览器上,您可以通过监听onorientationchange
事件并查询window.orientation
角度来检测屏幕方向和方向变化。
这在Android手机浏览器中是否也可行?
明确一下,我想问的是是否可以通过运行在标准网页上的JavaScript来检测Android设备的旋转。在iPhone上是可能的,我想知道是否也适用于Android手机。
我知道在iPhone的Safari浏览器上,您可以通过监听onorientationchange
事件并查询window.orientation
角度来检测屏幕方向和方向变化。
这在Android手机浏览器中是否也可行?
明确一下,我想问的是是否可以通过运行在标准网页上的JavaScript来检测Android设备的旋转。在iPhone上是可能的,我想知道是否也适用于Android手机。
跨浏览器方式
$(window).on('resize orientationchange webkitfullscreenchange mozfullscreenchange fullscreenchange', function(){
//code here
});
对two-bit-fool的回答做出一点贡献:
如droid手机上的表格所述,“orientationchange”事件比“resize”事件更早地触发,因此阻止了下一个调整大小的调用(因为if语句)。宽度属性仍未设置。
然而,一种解决方法可能不是完美的,即不触发“orientationchange”事件。这可以通过将“orientationchange”事件绑定包装在“if”语句中来实现:
if (!navigator.userAgent.match(/android/i))
{
window.addEventListener("orientationchange", checkOrientation, false);
}
希望能对您有所帮助
(测试是在Nexus S上进行的)