दिलचस्प पोस्ट
क्यों नहीं बदल सकते हैं (एस.बीजिन ()), एसएंड (), एस.बीजीन (), टोलर) "सफलतापूर्वक अनुपालन किया जा सकता है? आप जावा में दिनांक कैसे घटाना चाहते हैं? वेक्टर में मानों के आधार पर डेटा फ्रेम से पंक्तियां चुनें जावा कॉल स्टैक की अधिकतम गहराई क्या है? फ्लेक्सबॉक्स में अंतिम मार्जिन / पैडिंग गिरने सी ++ 0x लैम्ब्डा कैप्चर हमेशा मूल्य से कैप्चर करता है? पायथन नाम मैंगलिंग गैर प्रकार के टेम्पलेट पैरामीटर कोई मार्ग मेल नहीं है "/ उपयोगकर्ता / साइन-आउट" रेल 3 तैयार करें सी ++ कक्षा में स्थिर चर को प्रारंभ करें? jQuery अजाक्स फ़ाइल अपलोड करें कैसे जांचें कि कोई प्रोसेस आईडी (पीआईडी) मौजूद है या नहीं मैं आईई में एचटीएमएल 5 कैनवास तत्व कैसे उपयोग कर सकता हूं? ड्रॉप डाउन प्रोटेक्टोरज ई 2 ए टेस्ट में विकल्प का चयन कैसे करें कास्ट या कन्वर्ट का उपयोग कब करें

jQuery / जेएस, आईओएस 4 और $ (दस्तावेज़) .हाइट () समस्याओं

मैंने वेबकिट ब्राउज़र के विभिन्न संस्करणों के साथ एक अजीब समस्या में भाग लिया है मैं स्क्रीन के केंद्र पर एक तत्व की स्थिति बनाने की कोशिश कर रहा हूं और गणना करने के लिए, मुझे विभिन्न आयामों की आवश्यकता है, विशेष रूप से शरीर की ऊँचाई और स्क्रीन की ऊंचाई। JQuery में मैं उपयोग कर रहा हूं:

var bodyHeight = $('body').height(); var screenHeight = $(window).height(); 

मेरा पृष्ठ आम तौर पर वास्तविक व्यूपोर्ट की तुलना में अधिक लंबा होता है, इसलिए जब मैं उन चर को सतर्क करता हूं, तब तक शरीर को बड़ा होना चाहिए, जबकि स्क्रीनहाइट स्थिर (ब्राउज़र व्यूपोर्ट की ऊंचाई) में स्थिर रहना चाहिए।

यह सच है – फ़ायरफ़ॉक्स – क्रोम 15 (व्हाओ! क्रोम को संस्करण 15 में कब मिला?) – आईओएस 5 पर सफ़ारी

यह इसमें काम नहीं कर रहा है: – आईओएस 4 पर सफारी – सफारी 5.0.4

बाद में दो, $(window).height(); हमेशा $('body').height() के समान मान देता है $('body').height()

यह शायद एक jQuery मुद्दा था, मैं खिड़की के लिए खिड़की की ऊंचाई को बाहर निकाल window.outerHeight लेकिन वह भी एक ही काम करता है, मुझे लगता है कि यह वास्तव में किसी प्रकार की वेबकिट समस्या है।

क्या किसी ने इस बात में भाग लिया है और इस मुद्दे के आसपास एक रास्ता पता है?

चीजों को उलझाए रखने के लिए, मैं अलगाव में इसे दोहराने के लिए प्रतीत नहीं कर सकता। उदाहरण के लिए: http://jsbin.com/omogap/3 ठीक काम करता है

मैंने यह निर्धारित किया है कि यह एक सीएसएस मुद्दा नहीं है, इसलिए शायद अन्य जेएस इस विशेष ब्राउज़र पर कहर बरपा रहे हैं जो मुझे खोजने की आवश्यकता है।

वेब के समाधान से एकत्रित समाधान "jQuery / जेएस, आईओएस 4 और $ (दस्तावेज़) .हाइट () समस्याओं"

मैं इसके साथ एक बहुत लंबे समय ( मेरे प्लगइन की वजह से) के लिए लड़ रहा था और मैंने मोबाइल सफारी में खिड़की की उचित ऊंचाई कैसे प्राप्त की है।

यह ठीक से काम करता है चाहे ज़ूम का स्तर स्क्रीन की ऊंचाई को घटाए बिना स्थिति पट्टियों की पूर्वनिर्धारित ऊंचाई (जो भविष्य में बदल सकता है) के बिना। और यह iOS6 फ़ुलस्क्रीन मोड के साथ काम करता है

कुछ परीक्षण (स्क्रीन आकार वाले 320×480 के साथ iPhone, लैंडस्केप मोड में):

 // Returns height of the screen including all toolbars // Requires detection of orientation. (320px for our test) window.orientation === 0 ? screen.height : screen.width // Returns height of the visible area // It decreases if you zoom in window.innerHeight // Returns height of screen minus all toolbars // The problem is that it always subtracts it with height of the browser bar, no matter if it present or not // In fullscreen mode it always returns 320px. // Doesn't change when zoom level is changed. document.documentElement.clientHeight 

आईओएस विंडो की ऊंचाई

ऊँचाई कैसे पता लगाया गया है:

 var getIOSWindowHeight = function() { // Get zoom level of mobile Safari // Note, that such zoom detection might not work correctly in other browsers // We use width, instead of height, because there are no vertical toolbars :) var zoomLevel = document.documentElement.clientWidth / window.innerWidth; // window.innerHeight returns height of the visible area. // We multiply it by zoom and get out real height. return window.innerHeight * zoomLevel; }; // You can also get height of the toolbars that are currently displayed var getHeightOfIOSToolbars = function() { var tH = (window.orientation === 0 ? screen.height : screen.width) - getIOSWindowHeight(); return tH > 1 ? tH : 0; }; 

इस तरह की तकनीक में केवल एक कॉन है: जब पेज ज़ूम हो जाने पर पिक्सेल परिपूर्ण नहीं होता (क्योंकि window.innerHeight हमेशा गोल मान देता है)। शीर्ष पट्टी के पास ज़ूम इन करते समय यह गलत मान भी देता है

एक साल बीत जाने के बाद से आप इस सवाल पूछा, लेकिन वैसे भी उम्मीद है कि यह मदद करता है! 🙂

यह 2015 है, हम आईओएस 8 पर हैं आईओएस 9 पहले से ही कोने के आसपास है और समस्या अभी भी हमारे साथ है आह।

मैंने jQuery.documentSize में विंडो आकार के लिए एक क्रॉस-ब्राउज़र समाधान लागू किया है I यह किसी भी तरह के ब्राउज़र सूँघने से स्पष्ट रहता है और यह बहुत ही यूनिट-परीक्षण किया गया है। यहां देखिए यह कैसे काम करता है:

  • दृश्य व्यूपोर्ट की ऊंचाई के लिए $.windowHeight() को कॉल करें। यह उस क्षेत्र की ऊंचाई है जिसे आप वास्तव में व्यूपोर्ट में वर्तमान ज़ूम स्तर पर देख सकते हैं, सीएसएस पिक्सल में
  • लेआउट व्यूपोर्ट की ऊंचाई के लिए $.windowHeight( { viewport: "layout" } ) कॉल करें। $.windowHeight( { viewport: "layout" } ) यही वह ऊंचाई है जो दृश्यमान क्षेत्र 1: 1 ज़ूम पर होता है – "मूल विंडो ऊंचाई"

बस अपने काम के लिए उचित व्यूपोर्ट चुनें, और आप कर रहे हैं

पर्दे के पीछे, गणना मोटे तौर पर @ डेमेट्रीएसमेनोव के उत्तर में दी गई प्रक्रिया का अनुसरण करती है । मैंने कहीं और पर शामिल कदमों के बारे में लिखा है। यदि आप रुचि रखते हैं, या स्रोत कोड पर नज़र डालें तो इसे देखें

मुझे भी ऐसी ही समस्या का समाधान करना पड़ा था। इसे 2 चीज़ों के साथ करना पड़ा:

बॉक्स-साइज़िंग CSS3 प्रॉपर्टी: .height () jQuery प्रलेखन में मैंने यह पाया:

ध्यान दें कि। सीएसएस बॉक्स-आकार देने वाली संपत्ति के मूल्य की परवाह किए बिना। JQuery 1.8 के अनुसार, सीएसएस की ऊँचाई और बॉक्स-साइजिंग संपत्ति को पुनः प्राप्त करने की आवश्यकता होती है और तब प्रत्येक तत्व पर किसी भी संभावित सीमा और पैडिंग को घटाना पड़ सकता है जब तत्व बॉक्स-साइजिंग होता है: सीमा-बॉक्स। इस जुर्माना से बचने के लिए। सीएसएस ("ऊंचाई") का उपयोग करें। हेट ()।

यह $('body').height() लागू हो सकता है $('body').height()

दस्तावेज़ बनाम बनाम विंडो.लोड

$(document).ready() चलाया जाता है जब DOM JS के लिए तैयार हो जाता है, लेकिन यह संभव है कि छवियां अभी तक लोड हो चुकी हैं $(window).load() का उपयोग करना। $(window).load() मेरी समस्या तय की और पढ़ें ।

आशा है कि ये आपकी मदद करेगा।

इसे इस्तेमाल करे :

 var screenHeight = (typeof window.outerHeight != 'undefined')?Math.max(window.outerHeight, $(window).height()):$(window).height() 

एक क्रॉस ब्राउज़र समाधान यह निर्धारित किया जाता है कि jQuery के द्वारा

इस प्रॉपर्टी का उपयोग करें: $(window).height()

यह एक पूर्णांक मान देता है जो पिक्सल में ब्राउज़र की दृश्यमान स्क्रीन ऊंचाई के आकार का प्रतिनिधित्व करता है।