मैं एक वेब ऐप पर काम कर रहा हूं जो डेस्कटॉप, टैबलेट और स्मार्टफ़ोन पर ब्राउज़र पर लक्षित है।एंड्रॉइड ब्राउज़र की स्क्रीन.विड्थ, स्क्रीन.हेइट और विंडो.इनरविड्थ और विंडो.इनरहाइट अविश्वसनीय
वेब ऐप में Colorbox का उपयोग करके iframe
के साथ एक लाइट बॉक्स लागू किया गया है। जब ब्राउज़र विंडो का आकार बदलता है या टैबलेट/फोन में इसका अभिविन्यास बदल जाता है, तो जावास्क्रिप्ट कोड विंडो आयामों से पूछताछ करता है ताकि वह प्रकाश बॉक्स के कुछ तत्वों का आकार बदल सके।
मेरे पास यह समस्या यह है कि सब कुछ डेस्कटॉप पर ठीक काम करता है (विंडोज़: आईई, फ़ायरफ़ॉक्स, क्रोम, मैक: सफारी), आईपैड & आईफोन लेकिन एंड्रॉइड स्मार्टफोन (एचटीसी) और एंड्रॉइड एमुलेटर पर नहीं।
एंड्रॉयड हमेशा के लिए screen.width
, screen.height
, window.innerWidth
& window.innerHeight
विभिन्न मूल्यों रिटर्न जब वे खिड़की के आकार घटना है, जो कई बार आग अंदर से पूछे जा रहे हैं।
एंड्रॉइड ब्राउजर मूल्यों में इतनी व्यापक भिन्नता क्यों लौटा रहा है और मैं ब्राउज़र विंडो की चौड़ाई और ऊंचाई का विश्वसनीय रूप से पता कैसे लगा सकता हूं?
कोई विश्वसनीय तरीका नहीं है (अभी तक)। हालांकि, आकार बदलने और प्रतीक्षा करने के लिए कुछ (100) मिलीसेकंड आमतौर पर 99% समय में गुणों को सही ढंग से सेट करने के लिए पर्याप्त होता है। मेटा टैग के रूप में व्यूपोर्ट और लक्ष्य डीपीआई सेट करना भी महत्वपूर्ण है। इस कोड के साथ –