IE

2010-11-30 19 views
11

में तेज़ प्रतिपादन के लिए HTML को कोड कैसे करें HTML सामग्री के लेआउट और प्रतिपादन में कुछ समय लग सकता है यदि HTML पर्याप्त जटिल है। मुझे लेआउट इंजन (विशेष रूप से आईई में) की मदद करने के लिए HTML को कोड करने के तरीके के लिए एक सेट सर्वोत्तम प्रथाओं को नहीं मिला, ताकि पेज रीड्रॉप्स तेज़ी से हो। क्या इस तरह के सर्वोत्तम प्रथाओं का एक सेट मौजूद है?IE

मेरी वर्तमान विशिष्ट समस्या यह है कि मेरा सारणी डेटा (तालिका तत्व में) जो पेज को बहुत धीमा कर देता है, और डोम अपडेट (होवर प्रभाव) और एनिमेशन बहुत सुस्त बनाता है। मुझे यकीन है कि यह जावास्क्रिप्ट प्रदर्शन नहीं है। मैंने dynaTrace AJAX का उपयोग कर पेज की जांच की है। जब मैं अपने माउस को तत्वों पर घुमाता हूं तो CPU बहुत व्यस्त हो जाता है, लेकिन कोई जेएस चल रहा नहीं है। और होवर को कक्षाओं को टीआर तत्वों को जोड़कर/हटाकर महसूस किया जाता है। मैंने फ़ायरफ़ॉक्स में वाईएसलो को भी आजमाया है, यह कोई विशेष समस्या नहीं दिखाता है। यह नेटवर्क से संबंधित नहीं है। (फ़ायरफ़ॉक्स पेज को तेज़ी से बताता है, लेकिन इसकी जेएस इंजन तेज होने की वजह से नहीं है)

क्या आईई में ड्राइंग और लेआउट प्रोफाइल करने का कोई टूल है, ताकि मैं यह पता लगा सकूं कि समस्या कहां से आ रही है? और ड्राइंग इतनी धीमी क्यों हो सकती है, ताकि मैं उन्हें HTML कोड में से बचा सकूं?

+3

प्रतिपादन को गति देने का सबसे अच्छा तरीका कम कोड लिखना है। –

+0

आप सीएसएस अभिव्यक्तियों का उपयोग नहीं कर रहे हैं, है ना? वे जेएस-इन-सीएसएस हैं और सभी उपलब्ध सीपीयू पावर का उपभोग करते हैं। – Piskvor

+0

नहीं, मुझे लगता है कि मेरा सीएसएस सिर्फ सादा सीएसएस है। – Iravanchi

उत्तर

17

इंटरनेट एक्सप्लोरर बड़ी HTML तालिकाओं को प्रस्तुत करने में धीमा होने के लिए जाना जाता है। Building High Performance HTML Pages और विशेष रूप से तालिकाओं के बारे में अनुभाग के लिए:

MSDN पर यह अच्छा आलेख देखें तालिका पर तय करने के लिए

  • सेट टेबल लेआउट सीएसएस विशेषता।
  • स्पष्ट रूप से प्रत्येक कॉलम के लिए कॉल ऑब्जेक्ट्स को परिभाषित करता है।
  • प्रत्येक कॉल पर WIDTH विशेषता सेट करें। Table Rendering:

तो फिर वहाँ भी तालिका प्रतिपादन के बारे में ieblog पर एक अच्छी ब्लॉग पोस्ट है।

यह नीचे आता है: सामग्री को कम जटिल के भीतर सामग्री बनाने की कोशिश करें, यानी निश्चित चौड़ाई निर्धारित करें और बहुत अधिक गतिशील प्रतिपादन कार्रवाई नहीं चल रही है। आईई पहले सामग्री लोड करता है और फिर सामग्री == धीमी के लिए सही चौड़ाई की गणना करना पड़ता है।

+0

मैं जो कुछ कहने जा रहा था, उसे छोड़कर, इसके अलावा आपके पास इसका समर्थन करने के संदर्भ हैं। +1 – Quentin

+0

लिंक के लिए धन्यवाद। मैं अब उनको आजमा रहा हूं। जो मैंने अभी तक खोजा है वह यह है कि यदि मैं "चौड़ाई = 100%" को हटा देता हूं तो सब कुछ बहुत तेज़ हो जाता है, लेकिन तालिका के लिए निश्चित लेआउट वास्तव में इसे धीमा कर देता है! मुझे लगता है कि कुछ उपकरण उपलब्ध होना चाहिए (या विकसित!) जो लेआउट बाधाओं को दूर करने में मदद करते हैं। क्या आप किसी को जानते हैं? – Iravanchi

+0

आपने पहले से ही डायनट्रेस AJAX संस्करण कहा है - मुझे किसी भी उपकरण के बारे में पता नहीं है जो वास्तव में आईई के हुड के नीचे क्या हो रहा है, इस बारे में बहुत गहराई से दिखाता है, इसलिए आप वास्तव में भाग्य से बाहर हैं कि यह पता लगाने के लिए कि पागल सामान क्या जिम्मेदार है तुम्हारी अंतराल आपको अपनी 'चौड़ाई = 100%' अवलोकन के साथ रहना चाहिए और इसके कुछ बदलावों को आजमाएं - शायद अपने पृष्ठ पर अन्य सभी मार्कअप के बिना अपनी तालिका का प्रयास करें? शायद समस्या कहीं और कहती है। –

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