2009-07-02 10 views
11

मैंने पढ़ा है कि फ़ायरफ़ॉक्स 3.5 की parser में एक नई सुविधा है? छिपकली लेआउट इंजन के लिएसट्टा पार्सिंग क्या है?

सुधार, तेजी से सामग्री प्रतिपादन के लिए सट्टा पार्स भी शामिल है।

क्या आप सरल शब्दों में इसे समझा सकते हैं।

उत्तर

24

यह सब बगजिला में इस प्रविष्टि के साथ क्या करना है: https://bugzilla.mozilla.org/show_bug.cgi?id=364315

कि प्रविष्टि में एंडर्स Holbøll सुझाव:

ऐसा लगता है जब एक स्क्रिप्ट टैग का सामना, का संदर्भ देता है कि एक बाहरी फ़ाइल, ब्राउज़र स्क्रिप्ट-टैग के बाद किसी भी तत्व को लोड करने का प्रयास नहीं करता है जब तक कि बाहरी स्क्रिप्ट फ़ाइलों को लोड नहीं किया जाता है। यह साइट बनाता है, जो कई या बड़ी जावास्क्रिप्ट फ़ाइलों का संदर्भ देता है, धीमा।
...
यहां फ़ाइल 1.js पहले लोड हो जाएगा, अनुक्रमिक रूप से file2.js द्वारा पीछा किया जाएगा। फिर img1.gif, img2.gif और file3.js को समवर्ती रूप से लोड किया जाएगा। जब file3.js में पूरी तरह से लोड होता है, तो img3.gif लोड हो जाएगा।

एक यह है कि लोगों का तर्क हो सकता है के बाद से js-फ़ाइलें उदाहरण के लिए तरह की एक पंक्ति होते हैं "document.write('<!--');", वहाँ जानते हुए भी अगर सामग्री एक स्क्रिप्ट टैग निम्न में से कोई कभी शो हो जाएगा का कोई रास्ता नहीं स्क्रिप्ट से पहले है, निष्पादित किया गया है।

लेकिन मुझे लगता है कि यह अधिक संभावना है कि सामग्री नहीं दिखाएगी। और इन दिनों पृष्ठों के लिए बाहरी जावास्क्रिप्ट फ़ाइलों (AJAX- पुस्तकालयों, आंकड़े और विज्ञापन) को संदर्भित करना काफी आम है, जो वर्तमान व्यवहार के साथ पृष्ठ लोड को क्रमबद्ध करने का कारण बनता है।

तो अनिवार्य रूप से, एचटीएमएल पार्सर एचटीएमएल फाइल के माध्यम से पढ़ना जारी रखता है और संदर्भित लिंक लोड करता है, भले ही इसे किसी स्क्रिप्ट के कारण प्रतिपादन से अवरुद्ध किया गया हो।

इसे "सट्टा" कहा जाता है क्योंकि स्क्रिप्ट "display: none" जैसे सीएसएस पैरामीटर सेट करने या निम्नलिखित एचटीएमएल के अनुभागों पर टिप्पणी करने जैसी चीजें कर सकती है, और ऐसा करके, प्रमाणक लोड अनावश्यक बनाते हैं ... हालांकि, 95% केस का उपयोग करें, अधिकांश संदर्भ लोड हो जाएंगे, इसलिए पार्सर आमतौर पर सही अनुमान लगा रहा है।

+0

हम्म, मुझे आश्चर्य है कि इस सवाल को अचानक इतना ध्यान मिला कि ... – Stobor

+3

http://samsaffron.com/archive/2012/02/17/stop-paying-your-jquery-tax के माध्यम से ध्यान प्राप्त हुआ हैकरन्यूज और इस प्रश्न का एक लिंक है। कम से कम, मैं यहाँ कैसे मिला। – vinod

+1

मुझे यहां मिला क्योंकि स्टैक ओवरफ़्लो मेरा समाचार पत्र है। –

3

मुझे लगता है कि इसका मतलब है कि जब ब्राउज़र सामान्य रूप से ब्लॉक करेगा (उदाहरण के लिए एक स्क्रिप्ट टैग के लिए), तो यह HTML को पार्स करना जारी रखेगा। यह अनुपलब्ध टुकड़े लोड होने तक वास्तविक डोम नहीं बनाएगा, लेकिन यह पृष्ठभूमि में स्क्रिप्ट फ़ाइलों और स्टाइलशीट लाने शुरू कर देगा।

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