وقت تنفيذ JavaScript

في بعض الأحيان، يتم تنفيذ ملف JavaScript قبل اكتمال عرض DOM بالكامل. المشكلة التي يسببها هذا هي أنه عند محاولة الوصول إلى عناصر DOM، فإنه يعطي خطأ يفيد بأن العنصر غير موجود. في الوقت الحالي، استخدمنا طريقة setTimeout لتأخير التنفيذ لمدة نصف ثانية، وهي ليست حلاً جيدًا ولا ممارسة جيدة.
لذا، السؤال هو كيف يمكن تغيير ملف JavaScript ليتم تنفيذه فقط إذا تم إنشاء DOM بالكامل؟

هذا متوقع إذا قمت ببناء إضافاتك باستخدام خطافات غير كافية، مثل $( document ).ready أو أي شيء من هذا القبيل.

Discourse هو تطبيق EmberJS، لذا يجب أن تأخذ أي إضافات ذلك في الاعتبار وأن تتصل بالخطافات الموجودة في التطبيق. يمكنك معرفة المزيد عن ذلك على Developing Discourse Themes & Theme Components

4 إعجابات

@Falco شكراً جزيلاً على ردك. سألقي نظرة عليه وأخبرك إذا نجح الأمر

إعجابَين (2)