我正在使用JavaScript事件onorientationchange和参数window.orientation来检测我网站上的方向更改和方向值。这适用于iPhone和Android。但Windows Phone不会触发onorientationchange事件和window.orientation未定义。 我如何检测Windows手机的方向变化?
谢谢,Konrad
答案 0 :(得分:4)
IE9Mobile不支持这些事件。
如果您的页面显示在(silverlight)应用程序中的WebBrowser控件内,那么您可以在应用程序级别检测方向更改,然后调用页面上的脚本以传递此信息。
如果您刚刚在浏览器中运行,则无法检测方向更改。
答案 1 :(得分:3)
在CSS3中(与Mango配合使用,我不知道是否在经典的IE9 Mobile中,但可能):
@media screen and (max-width: 480px)
{
/* CSS for Orientation Vertical */
}
@media screen and (min-width: 481px)
{
/* CSS for Orientation Horizontal */
}
让我知道它是否有效!
答案 2 :(得分:0)
CSS更改可能是检测方向变化的最佳方式,但是,如果您像我一样,只需要快速而肮脏的方式来找出当前的方向,那么这将完成工作。
var isLandscape = $(window).width() > $(window).height();
对于它的价值,似乎在differs上实现了 window.orientation certain platforms,因此您可能需要检查正在使用的设备。