में innerWidth जाओ करो सभी हाल ही ब्राउज़र में:मैं कैसे इंटरनेट एक्सप्लोरर 8
window.innerWidth // 1920
इंटरनेट एक्सप्लोरर 8
window.innerWidth // undefined
सबसे अच्छा तरीका है IE8 में इस मूल्य प्राप्त करने के क्या है?
में innerWidth जाओ करो सभी हाल ही ब्राउज़र में:मैं कैसे इंटरनेट एक्सप्लोरर 8
window.innerWidth // 1920
इंटरनेट एक्सप्लोरर 8
window.innerWidth // undefined
सबसे अच्छा तरीका है IE8 में इस मूल्य प्राप्त करने के क्या है?
innerWidth
IE9 नहीं IE8 के द्वारा समर्थित है, तो आप इस insteaad कर सकते हैं:
var width = window.innerWidth || document.documentElement.clientWidth || document.body.clientWidth;
ऊपर लाइन आप IE से चौड़ाई के साथ ही अन्य मानक संगत ब्राउज़रों मिल जाएगा।
आप jQuery का उपयोग करते हैं, $(window).innerWidth()
आप इच्छित परिणाम सभी ब्राउज़रों में भी दे देंगे।
'$ (विंडो) .innerWidth() 'पृष्ठ पर लंबवत स्क्रॉल बार दिखाई देने पर' window.innerWidth' के समान संख्या वापस नहीं करता है। –
.innerWidth() jquery दस्तावेज़ीकरण में उल्लिखित विंडो और दस्तावेज़ ऑब्जेक्ट्स पर लागू नहीं है। http://api.jquery.com/innerWidth/ "यह विधि विंडो और दस्तावेज़ ऑब्जेक्ट्स पर लागू नहीं है; इनके लिए, .width() का उपयोग करें।" –
मुझे 'document.body की आवश्यकता थी।क्लाइंटविड्थ 'आईई 9 (क्विर्क) में भी – jan
आप के साथ
document.documentElement.clientWidth
याद रखें कि इस मूल्य बिल्कुल वैसा ही है कि window.innerWidth
के लिए IE 9 रिटर्न नहीं होगा आईई 8 से यह जानकारी प्राप्त कर सकते हैं।
jQuery के बिना आप इस height
प्राप्त करने की कोशिश कर सकते हैं और width
var myWidth = 0, myHeight = 0;
if (typeof (window.innerWidth) == 'number') { //Chrome
myWidth = window.innerWidth;
myHeight = window.innerHeight;
} else if (document.documentElement && (document.documentElement.clientWidth || document.documentElement.clientHeight)) {
myWidth = document.documentElement.clientWidth;
myHeight = document.documentElement.clientHeight;
} else if (document.body && (document.body.clientWidth || document.body.clientHeight)) { //IE9
myWidth = document.body.clientWidth;
myHeight = document.body.clientHeight;
}
टिप्पणी 'क्रोम' भ्रामक है क्योंकि यह संपत्ति सभी आधुनिक ब्राउज़रों द्वारा समर्थित है: https://developer.mozilla.org/en-US/docs/Web/API/window.innerWidth?redirectlocale=en-US&redirectslug=DOM% 2Fwindow.innerWidth # ब्राउज़र_कंपीबिलिटी ... IE9 सहित जो 'अन्य अगर' अप्रचलित बनाता है। – retrovertigo
क्या आपने सवाल पढ़ा है? ओपी ने कोड के लिए कहा है जो आईई 8 –
के लिए काम करेगा, मुझे 'अप्रचलित "अगर दोबारा दोहराता है। – retrovertigo
document.documentElement.clientWidth;
इस ग्राहक चौड़ाई
का उपयोग
document.documentElement.clientWidth
कृपया पाने के लिए IE8 के लिए प्रयोग किया जाता है नोट: .innerWidth विधि विंडो और दस्तावेज़ ऑब्जेक्ट्स पर लागू नहीं है; इनके लिए, इसके बजाय .width() का उपयोग करें।
मुझे पता है कि यह लगभग एक वर्ष पुराना है ... लेकिन ओपी jQuery का उपयोग नहीं कर रहा है ... –
इस हो रही के लिए, मैं अभी भी उपयोग करें:
window.innerWidth = window.innerWidth || document.documentElement.clientWidth || document.body.clientWidth;
window.innerHeight = window.innerHeight || document.documentElement.clientHeight || document.body.clientHeight;
लेकिन नकल करने के लिए वास्तविक डोम-गेटर इस पर एक नज़र डालें: https://stackoverflow.com/a/18136089/1250044
मुझे पता है कि innerWidth
नहीं हो सकता है काफी समान हो, लेकिन getBoundingClientRect
का उपयोग इसी तरह की क्षमता में भी किया जा सकता है:
elem = document.documentElement.getBoundingClientRect();
width = elem.getBoundingClientRect().right - elem.getBoundingClientRect().left;
क्या आपने [jQuery] (http://jquery.com) की खोज की है? इसका उपयोग करके ऐसा करना बहुत आसान है। –
हाँ निश्चित रूप से, $ (विंडो) .innerWidth() IE8 में भी ठीक काम करता है, धन्यवाद – antonjs
@AntoJs '$ (विंडो) .innerWidth()' लंबवत स्क्रॉल बार पर 'window.innerWidth' के समान संख्या वापस नहीं करता है पेज पर दिखाई देता है। –