يتم استخدام document.write()

يمكن أن يؤدي استخدام 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.

أسباب تعذُّر إكمال عملية تدقيق document.write() في Lighthouse

يُبلغ Lighthouse عن طلبات الاتصال بخدمة document.write() التي لم يحظرها Chrome:

تدقيق Lighthouse يعرض استخدام document.write

بالنسبة إلى الاستخدامات الأكثر إزعاجًا، سيحظر Chrome طلبات الاتصال بخدمة document.write() أو يُصدر تحذيرًا في وحدة التحكّم بشأنها، وذلك استنادًا إلى سرعة اتصال المستخدم. وفي كلتا الحالتَين، تظهر المكالمات المتأثّرة في وحدة تحكّم DevTools. اطّلِع على مقالة التدخل ضد document.write() في Google للحصول على مزيد من المعلومات.

يُبلغ Lighthouse عن أيّ طلبات متبقية إلى document.write() لأنّها تؤثّر سلبًا في الأداء بغض النظر عن كيفية استخدامها، ولأنّ هناك بدائل أفضل.

تجنَّب document.write()

أزِل جميع استخدامات document.write() في الرمز البرمجي. إذا كان يتم استخدامه لإدراج نصوص برمجية تابعة لجهات خارجية، جرِّب استخدام التحميل غير المتزامن بدلاً من ذلك.

إذا كان الرمز البرمجي التابع لجهة خارجية يستخدم document.write()، اطلب من الموفِّر إتاحة التحميل غير المتزامن.

الموارد