2013-01-16 4 views
37

내 응용 프로그램이 "세로"모드로 설계되지 않았기 때문에 응용 프로그램의 "가로 모드"를 강제 실행하려고합니다. 어떻게하면됩니까?강제 "가로 방향"방향 모드

제안 사항? 감사합니다.

답변

47

이제 HTML5 웹 응용 프로그램 매니페스트에서 가능합니다. 아래를 참조하십시오.


원래 답 :

당신은 웹 사이트 또는 특정 방향으로 웹 응용 프로그램을 잠글 수 없습니다. 그것은 장치의 자연적 거동에 반하는 것입니다.

@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 
} 

또는 이와 같은 자바 스크립트 방향 변경 이벤트 바인딩에 의해 :

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

업데이트에를

당신은 이 같은 CSS3 미디어 쿼리와 장치의 방향을 감지 할 수 있습니다 11 월 12 일 : 이제 HTML5 웹 응용 프로그램 매니페스트에서 가능합니다.

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

웹 어플리케이션을 너무 넥서스 5에서 테스트? _______________________ – user1599537

+1

네, 웹 앱도 있습니다. iPhone 또는 iPad의 홈 화면에 웹 사이트를 "저장"해도 웹 응용 프로그램의 방향이 바뀝니다. –

+0

진저 브레드 OS (안드로이드)에서 작동합니까? – deostroll

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

강제로 변경하여 가로 모드로 유지합니다.

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

+0

이 방법은 다른 방법과 비교하면서 구현하기가 더 쉽습니다. –

+0

기본 인터넷 브라우저 (크롬이 아님)를 사용하는 Android에서는 작동하지 않습니다 - 어떤 아이디어입니까? –