2010-06-10 8 views
29

यह मुझे निराशाजनक है। यह कुछ सचमुच सरल होना चाहिए लेकिन मैं इसे आईई में काम नहीं कर सकता। मैं वर्तमान विंडो की ऊंचाई प्राप्त करना चाहता हूं: स्क्रॉल ऊंचाई नहीं, दस्तावेज़ की ऊंचाई नहीं, बल्कि वास्तविक विंडो ऊंचाई। मैंने window.innerHeight को आजमाया है जो undefined और document.documentElement.clientHeight देता है जो स्क्रॉल ऊंचाई प्रदान करता है।विंडो की ऊंचाई

उत्तर

68

आईई 8 के लिए और कम,

document.documentElement.offsetHeight; 

तो पार ब्राउज़र का उपयोग करें:

var height = "innerHeight" in window 
       ? window.innerHeight 
       : document.documentElement.offsetHeight; 
+1

एंडी, फ्लिपेन आई मैन में काम नहीं करता है, यह काम करता है, धन्यवाद –

+0

मैं जोड़ रहा हूं कि 'window.innerHeight' IE9 + – vsync

+0

के लिए है, मैं इस तकनीक का उपयोग फ्रेम आधारित पृष्ठ में सफलतापूर्वक कर रहा हूं आईई 8/9/10 और फ़ायरफ़ॉक्स के तहत भी। धन्यवाद –

1

http://www.javascripter.net/faq/browserw.htm

ध्यान दें कि बाद ब्राउज़र टैग पार्स है कोड document.body.offsetWidth और document.body.offsetHeight का उपयोग करता है निष्पादित किया जाना चाहिए।

अद्यतन: होना चाहिए की कोशिश करो इस

<script type="text/javascript"> 
<!-- 

var viewportwidth; 
var viewportheight; 

// the more standards compliant browsers (mozilla/netscape/opera/IE7) use window.innerWidth and window.innerHeight 

if (typeof window.innerWidth != 'undefined') 
{ 
     viewportwidth = window.innerWidth, 
     viewportheight = window.innerHeight 
} 

// IE6 in standards compliant mode (i.e. with a valid doctype as the first line in the document) 

else if (typeof document.documentElement != 'undefined' 
    && typeof document.documentElement.clientWidth != 
    'undefined' && document.documentElement.clientWidth != 0) 
{ 
     viewportwidth = document.documentElement.clientWidth, 
     viewportheight = document.documentElement.clientHeight 
} 

// older versions of IE 

else 
{ 
     viewportwidth = document.getElementsByTagName('body')[0].clientWidth, 
     viewportheight = document.getElementsByTagName('body')[0].clientHeight 
} 
document.write('<p>Your viewport width is '+viewportwidth+'x'+viewportheight+'</p>'); 
//--> 
</script> 

मिले here

+0

नहीं, काम नहीं करता है, पुस्तक ऊंचाई देता है –

+0

@YO माँ: आप निम्नलिखित कोड 'myWidth = screen.availWidth का उपयोग कर सकते हैं; myHeight = screen.availHeight; 'यह सभी ब्राउज़र में काम करता है। एक बात यह है कि खिड़की। रात्रिभोज आईई – Raje

5

मैं उपयोग कर रहा हूँ:

doc = document; 
var theHeight = Math.max(
    doc.body.scrollHeight, doc.documentElement.scrollHeight, 
    doc.body.offsetHeight, doc.documentElement.offsetHeight, 
    doc.body.clientHeight, doc.documentElement.clientHeight 
); 

इसे यहाँ मिल गया: Get document height (cross-browser) - James Padolsey

और यह भी पाया कि jQuery ही बात कर रहा है:

// Either scroll[Width/Height] or offset[Width/Height] or client[Width/Height], whichever is greatest 
// unfortunately, this causes bug #3838 in IE6/8 only, but there is currently no good, small way to fix it. 
return Math.max(
    elem.body[ "scroll" + name ], doc[ "scroll" + name ], 
    elem.body[ "offset" + name ], doc[ "offset" + name ], 
    doc[ "client" + name ] 
); 
+0

भ्रामक। चूंकि 'स्क्रोलहेइट' देता है [तत्व की सामग्री की ऊंचाई, जिसमें स्क्रीन पर दिखाई देने वाली सामग्री शामिल नहीं है] (https://developer.mozilla.org/en-US/docs/Web/API/Element/scrollHeight), कोड देता है * * दस्तावेज़ ऊंचाई **। फिर भी सवाल ** खिड़की की ऊंचाई ** प्राप्त करना था। – Lightman

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