2013-07-16 6 views
9

मैंने अभी खोज की है और वास्तव में getBoundingClientRect पसंद है क्योंकि इसमें उप-पिक्सेल परिशुद्धता शामिल है। - यह है, भले ही उपयोगकर्ता द्वारा टाइप किये Ctrl+ या Ctrl +मुझे लगातार संरेखण बनाने के लिए अनुमति दी गई है।getBoundingClientRect की चौड़ाई और ऊंचाई गुणों का ब्राउज़र समर्थन?

यह गुण top, bottom, left, right, & width & height है।

इंटरनेट पर ब्राउज़र समर्थन ढूंढना आसान है, लेकिन विशेष रूप से width और height गुणों के लिए इतना कुछ नहीं है। ऐसा लगता है कि यह तथ्य के बाद जोड़ा गया था। यह फ़ायरफ़ॉक्स, क्रोम और आईई 10 में काम करता है, लेकिन IE8 & IE9 के बारे में क्या है? मैं इन आसानी से परीक्षण नहीं कर सकता।

+0

आप उपयोग कर सकते हैं आईई 10 मोड में डेवलपर सामान आईई 8 मोड में डालने के लिए? (मुझे यकीन नहीं है कि आईई 10 ऐसा कर सकता है, लेकिन आईई 8 मोड में आईई 9 शायद उस तरह कुछ सही होगा।) – Pointy

+0

'दाएं 'बाएं से भी' चौड़ाई 'अलग है? – Pointy

+0

* "डेवलपर सामग्री का उपयोग करें" * ऐतिहासिक रूप से आईई में एफ 12 टूल्स पुराने एचटीएमएल और सीएसएस पार्सर्स को सटीक रूप से प्रतिबिंबित करने में सक्षम हैं, लेकिन मैंने देखा है कि यह पुराने जावास्क्रिप्ट दुभाषियों पर सटीक रूप से काम नहीं करता है। –

उत्तर

9
IE8 के रूप में

IE9 में:

document.body.getBoundingClientRect() 
[object] { 
    right : 2556, 
    top : 0, 
    bottom : 1195, 
    left : 0 
} 
IE9 के रूप में

IE9 में:

document.body.getBoundingClientRect() 
[object ClientRect] { 
    bottom : 1435, 
    height : 1435, 
    left : 0, 
    right : 2544, 
    top : 0, 
    width : 2544 
} 

तो, मैं हाँ IE9 पर, कोई IE8 पर कहना चाहता हूँ ...

+2

आईई 7 भी चौड़ाई और ऊंचाई का समर्थन नहीं करता है। धन्यवाद जेकी प्रोग्रामिंग अनुभव के लिए माइक्रोसॉफ्ट! – Phil

+1

हमने पाया है कि आईई 8 में दाएं बाएं को पूर्णांक गणित के रूप में किया जाता है, जबकि आईई 9 में चौड़ाई फ्लोटिंग पॉइंट हो सकती है। यदि आप किसी पृष्ठ पर दो तत्वों को लाइन करने की कोशिश कर रहे हैं तो आधे पिक्सेल काफी हो सकते हैं। –

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