5

में मेरी iPad पर उन्मुखीकरण परिवर्तन मोबाइल सफारी में बाद अतिरिक्त चौड़ाई प्राप्त कर रहा रोकने के लिए मैं कैसे डिवाइस अभिविन्यास बदलने के बाद कुछ अजीब व्यवहार मिलता है। यहाँ अपने परीक्षण फ़ाइल है:मोबाइल-सफारी

<!DOCTYPE HTML> 
<html> 
    <head> 
     <meta name="viewport" content="initial-scale=0.7" /> 
     <style> 
      #block { 
       border: 1px solid red; 
       background-color: yellow; 
       font-size: 400%; 
       width: 700px; 
       height: 500px; 
      } 
     </style> 
    </head> 
    <body> 
     <div id="block">Hello world!</div> 
    </body> 
</html> 

आप इस URL पर मोबाइल सफारी में देख सकते हैं:

http://fiddle.jshell.net/eterps/jsTqj/show/

जब मैं पोर्ट्रेट ओरिएंटेशन में मेरी iPad के साथ यूआरएल जाने के लिए और कुछ स्वाइप जेस्चर बनाने पेज स्क्रॉल नहीं करता है, जो सही है।

हालांकि जब मैं डिवाइस को लैंडस्केप मोड में घुमाता हूं और कुछ स्वाइप जेश्चर करता हूं तो मुझे किसी स्पष्ट कारण के लिए दाईं ओर अतिरिक्त स्थान प्राप्त नहीं होता है।

लेकिन यहां तक ​​कि वीडर भी तथ्य यह है कि जब मैं मोबाइल सफारी को पुनरारंभ करता हूं और हर समय लैंडस्केप ओरिएंटेशन में होने पर यूआरएल पर जाता हूं, तो दाईं ओर अतिरिक्त जगह मौजूद नहीं होती है।

अभिविन्यास में बदलाव के बाद दाईं ओर अतिरिक्त स्थान क्यों दिखाई देता है? और मैं इसे कैसे रोक सकते हैं?

उत्तर

0

जब आप डी उपाध्यक्ष घुमाते हैं, तो मोबाइल सफारी नए अभिविन्यास से मेल खाने के लिए व्यूपोर्ट का आकार बदलती है।

0

ऐसा लगता है कि मोबाइल सफारी स्क्रीन के केंद्र में दृश्य स्थिति रखने की कोशिश करता है। आप मापदंडों window.outerWidth और window.scrollX का पालन करके इस जाँच कर सकते हैं। > परिदृश्य - -> चित्र वे लोड पेज और अभिविन्यास पोर्ट्रेट बदलने के बाद अलग हैं।

मैं इस विषय अन्य चर्चा से संबंधित है लगता है Mobile site resize on orientation change not working in Safari

आप स्क्रिप्ट

$(window).bind('orientationchange', function() { 
    var oldWidth = $('body').innerWidth(); 
    $('body').width(oldWidth + 1); // Force redraw 
    $('body').width(''); // Return to previous state in case if width set by css, otherwise use $('body').width(oldWidth); 
}); 
का पालन करके पेज और सफेद स्थान को छुपाने का redraw मजबूर कर सकते हैं