2013-01-16 15 views
37

मैं अपने एप्लिकेशन के लिए "लैंडस्केप" मोड को मजबूर करने की कोशिश कर रहा हूं क्योंकि मेरा एप्लिकेशन पूरी तरह से "पोर्ट्रेट" मोड के लिए डिज़ाइन नहीं किया गया है। मैं यह कैसे कर सकता हूं?फोर्स "लैंडस्केप" ओरिएंटेशन मोड

कोई सुझाव? धन्यवाद

उत्तर

47

अब यह HTML5 वेबपैड मैनिफेस्ट के साथ संभव है। निचे देखो।


मूल जवाब:

आप एक वेबसाइट या एक विशिष्ट अभिविन्यास में एक वेब अनुप्रयोग को लॉक नहीं कर सकते हैं। यह डिवाइस के प्राकृतिक व्यवहार के खिलाफ चला जाता है।

आप पता लगा सकते हैं इस तरह 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 
} 

या इस तरह एक जावास्क्रिप्ट उन्मुखीकरण परिवर्तन घटना जुड़ कर: पर

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

अद्यतन 12 नवंबर: एचटीएमएल 5 वेबपैड मैनिफेस्ट के साथ अब संभव है।

जैसा कि 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"> 

वास्तव में सुनिश्चित नहीं हैं कि समर्थन है ओरिएंट मोड लॉक करने के लिए वेबपैड मेनिफेस्ट पर, लेकिन क्रोम निश्चित रूप से वहां है। जब मेरे पास जानकारी होगी तो अपडेट हो जाएगा।

+0

वेब ऐप्लिकेशन भी पर परीक्षण किया गया? _______________________ – user1599537

+1

हां, वेबपैप्स भी। भले ही आप अपनी वेबसाइट को आईफोन या आईपैड पर होम स्क्रीन पर "सेव करें", वेबपैप इसके अभिविन्यास को बदल देगा। –

+0

क्या यह एक जिंजरब्रेड ओएस (एंड्रॉइड) के लिए काम करेगा? – deostroll

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

इसे बदलने और लैंडस्केप मोड में रहने के लिए मजबूर करेगा। नेक्सस 5.

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

+0

दूसरों के साथ तुलना करते समय, यह विधि लागू करने के लिए अधिक आसान है। –

+0

डिफ़ॉल्ट इंटरनेट ब्राउज़र (क्रोम नहीं) का उपयोग कर एंड्रॉइड पर काम नहीं करता - कोई विचार? –

संबंधित मुद्दे