मैं एक्सएचटीएमएल सख्त मोड का उपयोग करने के लिए अपने आवेदन को परिवर्तित करने की प्रक्रिया में हूं (इसमें पहले DOCTYPE नहीं था)। हालांकि, ऑफसेट/ऑफसेट विड्थ होने पर मैंने एक महत्वपूर्ण गिरावट देखी। यह बड़ी संख्या में डीओएम तत्वों वाले पृष्ठों पर बहुत ध्यान देने योग्य है, आइए 800 पंक्तियों से 1 कॉलम वाली एक तालिका कहें, कोशिकाओं में केवल टेक्स्ट का एक टुकड़ा होता है। अपने ऑफसेट आयाम को प्राप्त करने के लिए उस तालिका में प्रत्येक वंशज तत्व का दौरा करना जब आईई क्विर्क मोड में पृष्ठ प्रस्तुत करता है तो धीमा तरीका है। वह मामला क्यों है? और क्या किसी को आईई की उन समस्याओं की गणना करने में मदद करने के लिए युक्तियां हैं?आईई 8 क्विर्क बनाम मानक ऑफसेट प्राप्त कर रहे हैं हाइट/ऑफ़सेट विड्थ
उत्तर
मैं सुझाव देता हूं कि आईई को मानक मोड में आपको पृष्ठ प्रदान करने के लिए मजबूर किया जाए, क्विर्क में नहीं। यह आपके एचटीएमएल दस्तावेज़ के सिर पर मेटा टैग जोड़कर या एक्स-यूए-संगत हेडर जोड़ने के लिए वेब-सर्वर सेट करके किया जा सकता है।
<meta http-equiv="X-UA-Compatible" content="IE=8;FF=3;OtherUA=4" />
इसके अलावा, उपयोग में निर्मित इस तरह के jQuery, प्रोटोटाइप, yui, आदि के रूप में जावास्क्रिप्ट चौखटे, उनमें से सबसे होना पहले से ही अलग प्रतिपादन इंजन पर मुद्दों को संबोधित किया।
मैं मानता हूं कि ढांचे बहुत मदद करते हैं। मैंने हाल ही में एक परियोजना में नोट किया था कि आईई 8 अभी भी गलत '$()। बाहरी हाइट()' की रिपोर्ट कर रहा था। यह मुझे पागल हो गया! ऐसा लगता है कि आईई तत्वों का आकार बदलते समय ऊंचाई को पकड़ने की कोशिश कर रहा था, इसलिए मुझे कुछ सिंक्रनाइज़ेशन लागू करना पड़ा। यह आईई 8 पर केवल एक समस्या थी, इसलिए इसे ट्रैक करने में कुछ समय लगा। –
मेरा मुद्दा मानकों मोड में प्रस्तुत करने में सक्षम नहीं है। एक बार मेरा पृष्ठ मानकों मोड में प्रस्तुत होने पर समस्या प्रदर्शित होती है। मैंने वास्तव में इस मुद्दे को कोड की एक पंक्ति में अलग कर दिया। समस्याग्रस्त रेखा थी: element.absoluteHeight=element.offsetHeight;
मैंने गलती से माना कि यह ऑफ़सेट आयाम प्राप्त कर रहा था जहां समस्या थी, क्योंकि मैं ब्राउज़र रीफ्लो के बारे में बहुत कुछ पढ़ रहा था। हालांकि, एक बार मैंने उस रेखा को तोड़ने के बाद यह बदल दिया कि डीओएम तत्व पर संपत्ति स्थापित करना है जहां क्विर्क और आईई 8 मानक मोड के बीच एक बड़ा प्रदर्शन अंतर है, बाद वाला मोड बहुत खराब है। –
Paul
@ पॉल: क्या आप इसे उत्तर दे सकते हैं? मैं इसे पुन: उत्पन्न कर सकता हूं: ऑफसेट आयाम पढ़ने सहित अधिकांश ऑपरेशन IE8 मानक मोड में बहुत तेज हैं। हालांकि, विस्तार धीमा है। – bobince
@bobince: मुझे लगता है कि मुद्दा रिफ्लो के आसपास है। मेरी जावास्क्रिप्ट में तर्क यह पता लगाने की कोशिश करता है कि क्या बच्चे एक दूसरे के ओवरलैप कर रहे हैं (क्योंकि वे एक गतिशील सामग्री प्राप्त करते हैं जिसे मैं भविष्यवाणी नहीं कर सकता) एक पूर्ण लेआउट कंटेनर में और उसके बाद माता-पिता के सीएसएस आयामों और सिब्बलिंग सीएसएस को समायोजित करने की आवश्यकता होती है। सीएसएस आयामों को बदलने से रीफ्लो ट्रिगर होता है और यह मेरे पुनरावृत्ति के बीच में होता है, यह परिदृश्य IE8 मानकों में बहुत बड़ी तालिकाओं के लिए आईई 8 क्विर्क की तुलना में बहुत धीमी प्रतीत होता है। मुझे पता है कि इस प्रकार के संचालन करते समय मुझे दस्तावेज़ को छिपाना या उपयोग करना चाहिए, हालांकि मुझे चीजों को स्थानांतरित करने की आवश्यकता है और फिर नए ऑफसेट आयामों को देखते हुए मुझे गलत मूल्य मिल रहे थे।
क्या आपके पास इसका प्रदर्शन करने के लिए कोई नमूने हैं? – lincolnk