document.write()
का इस्तेमाल करने से, पेज का कॉन्टेंट दिखने में दस सेकंड तक की देरी हो सकती है. इससे खास तौर पर, धीमे इंटरनेट कनेक्शन वाले उपयोगकर्ताओं को परेशानी होती है.
इसलिए Chrome कई मामलों में document.write()
को चलने से रोकता है, जिसका मतलब है कि आप इस पर भरोसा नहीं कर सकते.
document.write()
का इस्तेमाल करने पर, आपको Chrome DevTools कंसोल में यह मैसेज दिखेगा:
[Violation] Avoid using document.write().
Firefox DevTools कंसोल में आपको यह मैसेज दिखेगा:
An unbalanced tree was written using document.write() causing
data from the network to be reparsed.
Lighthouse document.write()
का ऑडिट कैसे फ़ेल हो जाता है
Lighthouse, document.write()
को किए जाने वाले ऐसे कॉल को फ़्लैग करता है जिन्हें Chrome ने ब्लॉक नहीं किया है:
![लाइटहाउस ऑडिट में, document.write के इस्तेमाल की जानकारी दिख रही है](https://developer.chrome.com/static/docs/lighthouse/best-practices/no-document-write/image/lighthouse-audit-showing-909671e5aff87.png?authuser=6&hl=hi)
सबसे ज़्यादा समस्या वाले इस्तेमाल के लिए, Chrome document.write()
पर किए गए कॉल को ब्लॉक कर देगा या उपयोगकर्ता की कनेक्शन स्पीड के हिसाब से, उनके बारे में कंसोल चेतावनी भेजेगा.
दोनों ही स्थितियों में, DevTools कंसोल में ऐसे कॉल दिखते हैं जिन पर असर पड़ा है.
ज़्यादा जानकारी के लिए, Google का Intervening लायक document.write()
लेख देखें.
लाइटहाउस, बचे हुए किसी भी कॉल की रिपोर्ट document.write()
को करता है.
ऐसा इसलिए, क्योंकि यह परफ़ॉर्मेंस पर बुरा असर डालता है, फिर चाहे इसका इस्तेमाल कैसे भी किया जाए.
साथ ही, इसके बेहतर विकल्प भी हैं.
document.write()
से बचें
अपने कोड से, document.write()
के सभी इस्तेमाल हटाएं. अगर इसका इस्तेमाल तीसरे पक्ष की स्क्रिप्ट इंजेक्ट करने के लिए किया जा रहा है, तो इसके बजाय एसिंक्रोनस लोडिंग का इस्तेमाल करके देखें.
अगर तीसरे पक्ष का कोड document.write()
का इस्तेमाल कर रहा है, तो
सेवा देने वाली कंपनी से एसिंक्रोनस लोडिंग की सुविधा देने के लिए कहें.