2011-09-02 48 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,所以你可能需要檢查正在使用哪些設備實施。