2013-01-16 98 views
37

我試圖強制我的應用程序的「風景」模式,因爲我的應用程序絕對不是爲「肖像」模式設計的。 我該怎麼做?強制「風景」方向模式

有什麼建議嗎? 謝謝

回答

47

現在可以使用HTML5 webapp清單。見下文。


原來的答覆:

不能鎖定一個網站或一個特定方向的Web應用程序。這違背了設備的自然行爲。

可以檢測與CSS3媒體查詢這樣的設備的方向:

@media screen and (orientation:portrait) { 
    // CSS applied when the device is in portrait mode 
} 

@media screen and (orientation:landscape) { 
    // CSS applied when the device is in landscape mode 
} 

或通過結合一個JavaScript方向改變事件是這樣的:

document.addEventListener("orientationchange", function(event){ 
    switch(window.orientation) 
    { 
     case -90: case 90: 
      /* Device is in landscape mode */ 
      break; 
     default: 
      /* Device is in portrait mode */ 
    } 
}); 

更新上11月12日:現在可以使用HTML5 webapp清單。

html5rocks.com所述,您現在可以使用manifest.json文件強制定向模式。

您需要包括那些行成JSON文件:

{ 
    "display":  "standalone", /* Could be "fullscreen", "standalone", "minimal-ui", or "browser" */ 
    "orientation": "landscape", /* Could be "landscape" or "portrait" */ 
    ... 
} 

而且你需要包括清單到HTML文件中像這樣:

<link rel="manifest" href="manifest.json"> 

不能完全確定的支持是什麼在鎖定定向模式的webapp清單上,但Chrome肯定存在。當我有信息時會更新。

+0

Webapps呢? _______________________ – user1599537

+1

是的,也是webapps。即使您將網站「保存」到iPhone或iPad上的主屏幕,網絡應用程序也會改變其方向。 –

+0

這是否適用於薑餅操作系統(android)? – deostroll

22
screen.orientation.lock('landscape'); 

將強制它改變並保持橫向模式。在Nexus 5上測試。

http://www.w3.org/TR/screen-orientation/#examples

+0

這個方法比其他方法更容易實現。 –

+0

在Android上使用默認的互聯網瀏覽器(不是鉻)不起作用 - 有什麼想法? –