检测Windows Phone的方向

时间:2011-09-02 07:50:10

标签: mobile windows-phone

我正在使用JavaScript事件onorientationchange和参数window.orientation来检测我网站上的方向更改和方向值。这适用于iPhone和Android。但Windows Phone不会触发onorientationchange事件和window.orientation未定义。 我如何检测Windows手机的方向变化?

谢谢,Konrad

3 个答案:

答案 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,因此您可能需要检查正在使用的设备。