this thread में कल्पना से उद्धृत मुझे लगता है कि इस
ध्यान दें कि getBBox समय विधि बुलाया गया था पर वास्तविक सीमांकन बॉक्स लौटना चाहिए, यहां तक कि इस मामले में अभी तक तत्व प्रदान नहीं किया गया है है।
"जिस मामले में तत्व अभी तक प्रस्तुत नहीं किया गया है" आईई के लिए चिपकने वाला बिंदु प्रतीत होता है, यह समस्या एक साल बाद आईई 11 पर बनी हुई है। एकमात्र अन्य संभावना है कि मैं अनुभव से बाहर देख सकता हूं कि जी टैग के साथ spec के अनुसार स्पष्ट चौड़ाई और ऊंचाई नहीं है, IE केवल इस चेक को पूरी तरह से पूर्ववत कर सकता है, जैसा कि "चौड़ाई नहीं है" जैसा संभवतः वही है आईई कोडबेस के लिए 0।
तो काम करने के दौरान सबसे बड़ा बच्चा देखने के लिए कामकाज होगा। आपके विशेष मामले में वर्कअराउंड के रूप में आप lastChild
को पकड़ सकते हैं जब आप इसे जी टैग में जोड़ते हैं। जेएस कोड को पहेली में बदलें (मैंने टिप्पणियों में थॉमस डब्ल्यू द्वारा उल्लिखित svgns चीज को भी ठीक किया है)।
var temp;
temp = document.createElementNS("http://www.w3.org/2000/svg","text");
temp.appendChild(document.createTextNode(".."));
temp.setAttribute("x",38);
temp.setAttribute("y",18);
document.getElementById("tata").appendChild(temp);
alert(document.getElementById("tata").lastChild.getBBox().width);
आप यह सिर्फ अंतिम पंक्ति मैं getBBox()
से पहले lastChild
में धकेल कर बदल दिया गया है देख सकते हैं, 8 के बजाय एक 0 के एक अब सचेत फ़ायरफ़ॉक्स और अन्य ब्राउज़रों किया था चाहिए।
स्रोत
2014-08-06 19:50:25
आपको अपने पहेली में एक त्रुटि है, आपने 'svgns' को परिभाषित नहीं किया है। उस त्रुटि को ठीक करने के साथ, मैं दुर्भाग्य से केवल पुष्टि कर सकता हूं कि आईई 10 की मेरी स्थापना '' '' के लिए उचित बाउंडिंग बॉक्स की रिपोर्ट नहीं कर रही है। हालांकि, पाठ तत्व के बाध्यकारी बॉक्स के लिए पूछना ही उम्मीद के अनुसार काम करता है। शायद यह आपको एक कामकाज की पेशकश कर सकता है? –
वास्तव में मैं IE9 + पर .getBBox का उपयोग कर अनुप्रयोग चला रहा हूं और सभी गणना ठीक काम करने लगती है। – BausTheBig