तो आग लगती है, इसलिए मुझे जावास्क्रिप्ट के साथ तत्व की चौड़ाई जानने की ज़रूरत है, मेरी समस्या यह है कि फ़ंक्शन बहुत जल्दी आग लग जाता है और जब सीएसएस को मजबूती से लागू किया जाता है तो चौड़ाई बदल जाती है। जैसा कि मैंने समझा, दस्तावेज पूरा होने पर $ (दस्तावेज़) .ready() फ़ंक्शन निकाल दिया गया था, लेकिन ऐसा लगता है कि ऐसा नहीं लगता है।
फिर भी, मुझे यकीन है कि कोड मेरी समस्या माने जाएँगे साथ (यह एक सरल उदाहरण है) कर रहा हूँ:
<html>
<head>
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
<link href='http://fonts.googleapis.com/css?family=Parisienne' rel='stylesheet' type='text/css'>
<style type="text/css">
#target {
font-family: 'Parisienne', cursive;
float: left;
}
</style>
</head>
<body>
<div id="target">Element</div>
</body>
</html>
<script type="text/javascript">
$(document).ready(function(){
console.debug($('#target').outerWidth());
alert('hold on');
console.debug($('#target').outerWidth());
});
</script>
मैं #target div की चौड़ाई में जानना चाहते हैं, समस्या यह है कि है चेतावनी से पहले निष्पादित कोड एक के बाद एक अलग आउटपुट देता है, संभवतः क्योंकि फ़ॉन्ट पूरी तरह से लोड नहीं होता है और यह डिफ़ॉल्ट फ़ॉन्ट के साथ div को माप रहा है।
यह काम करता है जैसा कि मैं Google क्रोम में अपेक्षा करता हूं, लेकिन यह आईई और फ़ायरफ़ॉक्स पर नहीं है।
मैं 2013-11-24 पुष्टि कर सकते हैं कि इस समस्या को अभी भी JQuery 2.x पर मौजूद है जब आप ब्राउज़र के रिफ़्रेश बटन मारा। इस [fiddle] पर जाएं (http://jsfiddle.net/jLDbX/)। जब आप पहली बार बेवकूफ लोड करते हैं, तो सब कुछ सबसे अच्छा काम करना चाहिए। यह भी काम करता है अगर आप यूआरएल में अपना माउस कर्सर डालते हैं और एंटर दबाते हैं। लेकिन अगर आप रीफ्रेश बटन पर क्लिक करते हैं या * CTRL + R * हिट करते हैं तो चीजें नरक में जाएंगी। –
मैंने चौड़ाई और ऊंचाई को मापने के लिए केवल "गिनती नीचे" लागू करने की कोशिश की, जब खिड़की के भार को निकाल दिया गया और जब निर्भर फ़ॉन्ट्स ने आग समाप्त कर दी। देखें कि यह मदद करता है: [http://jsfiddle.net/jLDbX/1/](http://jsfiddle.net/jLDbX/1/)। इस पहेली में, सबकुछ ठीक काम कर रहा है। लेकिन मेरे असली दुनिया के आवेदन में, मुझे त्रुटियां मिल रही थीं। हालांकि आपके लिए यह काम कर सकता है। –