2011-09-02 80 views
2

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

Thanks,Konrad

+0

标签iphone android和mobilen不正确请编辑标签 – Aracem

回答

4

IE9Mobile不支持这些事件。

如果您的页面显示在(silverlight)应用程序中的WebBrowser控件内,那么您可以检测应用程序级别的方向更改,然后调用页面上的脚本来传递此信息。

如果您刚刚在浏览器中运行,则无法检测方向更改。

+0

好的,谢谢。我还发现,IE9Mobile不支持不同的基本JavaScript功能,比如document.getElementById – Konrad

3

在CSS3(芒果效果很好,我不知道在经典IE9移动,但可能):

@media screen and (max-width: 480px) 
{ 
/* CSS for Orientation Vertical */ 
} 
@media screen and (min-width: 481px) 
{ 
/* CSS for Orientation Horizontal */ 
} 

让我知道它的工作!

+0

到目前为止我的手机上还没有芒果。但我希望所有使用iPhone和Android的东西都已经可以与WinPhones合作。 因为我在循环中执行一些其他的JS任务,所以我希望Mango的IE旁边还会有一些新的功能,比如CSS3。 – Konrad

0

CSS的变化可能是检测方位变化的最好方法,但是如果你像我一样,只需要一个快速和肮脏的方式来找出当前的方向,那么这将做到这一点。

var isLandscape = $(window).width() > $(window).height(); 

对于它的价值,它看起来像的window.orientationdifferscertain platforms,所以你可能需要检查正在使用哪些设备实施。