يمكن أن يؤخر استخدام document.write()
عرض محتوى الصفحة لعشرات الثواني،
ويسبّب مشكلة بشكل خاص للمستخدمين الذين لديهم اتصالات بطيئة.
ولهذا السبب يحظر Chrome تنفيذ document.write()
في كثير من الحالات،
أي لا يمكنك الاعتماد عليه.
في وحدة تحكّم أدوات مطوري البرامج في Chrome، ستظهر لك الرسالة التالية عند استخدام document.write()
:
[Violation] Avoid using document.write().
في وحدة تحكم أدوات مطوّري البرامج في Firefox، سترى الرسالة التالية:
An unbalanced tree was written using document.write() causing
data from the network to be reparsed.
كيفية تعذُّر تدقيق Lighthouse في document.write()
تُبلِغ خدمة Lighthouse عن المكالمات الصادرة إلى document.write()
التي لم يتم حظرها من قِبل Chrome:
![تدقيق Lighthouse يعرض استخدام document.write](https://developer.chrome.com/static/docs/lighthouse/best-practices/no-document-write/image/lighthouse-audit-showing-909671e5aff87.png?authuser=9&hl=ar)
بالنسبة إلى الاستخدامات الأكثر إشكالية،
سيحظر Chrome المكالمات الواردة إلى document.write()
أو يصدر تحذيرًا بشأن استخدام وحدة التحكّم، وذلك بناءً على سرعة اتصال المستخدم.
وفي كلتا الحالتين، ستظهر الطلبات المتأثرة في وحدة تحكّم أدوات مطوّري البرامج.
يمكنك الاطّلاع على مقالة التدخل ضد document.write()
في Google
للحصول على مزيد من المعلومات.
تُبلغ أداة Lighthouse عن أي مكالمات متبقية إلى document.write()
لأنها تؤثر سلبًا في الأداء بغض النظر عن طريقة استخدامها،
وتوفّر بدائل أفضل.
تجنُّب document.write()
أزِل جميع استخدامات document.write()
في الرمز. إذا كان يتم استخدامه
لإدخال نصوص برمجية تابعة لجهات خارجية، جرِّب استخدام
التحميل غير المتزامن
بدلاً من ذلك.
إذا كان رمز الجهة الخارجية يستخدم document.write()
،
اطلب من مقدّم الخدمة إتاحة التحميل غير المتزامن.