كود تنفيذ تعليمات JavaScript ودليل

click fraud protection

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

موقع JavaScript على صفحة الويب الخاصة بك

نظرًا لتنفيذ جافا سكريبت على صفحتك بناءً على عوامل معينة ، فلنفكر في مكان وكيفية إضافة جافا سكريبت إلى صفحة الويب.

هناك ثلاثة مواقع يمكننا من خلالها إرفاق JavaScript:

  • مباشرة في رأس الصفحة
  • مباشرة في نص الصفحة
  • من معالج الأحداث / المستمع

لا فرق سواء كان جافا سكريبت داخل صفحة الويب نفسها أو في ملفات خارجية مرتبطة بالصفحة. لا يهم أيضًا ما إذا كانت معالجات الأحداث مشفرة في الصفحة أو تمت إضافتها بواسطة جافا سكريبت نفسها (باستثناء أنه لا يمكن تشغيلها قبل إضافتها).

كود مباشرة على الصفحة

ماذا يعني القول أن JavaScript هو مباشرة في رأس أو نص الصفحة؟ إذا لم يكن الكود محاطًا بدالة أو كائن ، فإنه موجود مباشرة في الصفحة. في هذه الحالة ، يتم تشغيل الكود بالتسلسل بمجرد أن يتم تحميل الملف الذي يحتوي على الكود بشكل كافٍ للوصول إلى هذا الكود.

يتم تشغيل التعليمات البرمجية الموجودة داخل دالة أو كائن فقط عندما يتم استدعاء هذه الوظيفة أو الكائن.

instagram viewer

يعني هذا بشكل أساسي أن أي رمز داخل رأس الصفحة ونصها ليس داخل وظيفة أو كائن سيتم تشغيله أثناء تحميل الصفحة - بمجرد أن يتم تحميل الصفحة تم تحميله بدرجة كافية للوصول إلى هذا الرمز.

هذا الجزء الأخير مهم ويؤثر على الترتيب الذي تضع فيه الشفرة على الصفحة: يجب أن يظهر أي رمز يتم وضعه مباشرة في الصفحة يحتاج إلى التفاعل مع العناصر داخل الصفحة بعد العناصر في الصفحة التي تعتمد عليها.

بشكل عام ، هذا يعني أنه إذا كنت تستخدم رمزًا مباشرًا للتفاعل مع محتوى صفحتك ، فيجب وضع هذا الرمز في الجزء السفلي من النص.

كود داخل الوظائف والكائنات

يتم تشغيل رمز داخل الوظائف أو الكائنات كلما تم استدعاء هذه الوظيفة أو الكائن. إذا تم استدعاؤها من التعليمات البرمجية الموجودة مباشرة في رأس أو نص الصفحة ، فحينئذٍ يتم وضعها في أمر التنفيذ هو النقطة التي يتم عندها استدعاء الوظيفة أو الكائن من المباشر الشفرة.

تم تعيين الرمز إلى معالجات الأحداث والمستمعين

لا يؤدي تعيين وظيفة إلى معالج حدث أو مستمع إلى تشغيل الوظيفة في النقطة التي تم تعيينها فيها - شريطة أن تكون في الواقع تعيين الوظيفة نفسها و لا يعمل الدالة وتعيين القيمة المعادة. (هذا هو السبب في أنك لا ترى عموما () في نهاية اسم الوظيفة عند تعيينها لحدث منذ إضافة تقوم الأقواس بتشغيل الدالة وتعيين القيمة التي تم إرجاعها بدلاً من تعيين الدالة بحد ذاتها.)

يتم تشغيل الوظائف المرتبطة بمعالجات الأحداث والمستمعين عند تشغيل الحدث المرتبط بهم. يتم تشغيل معظم الأحداث من خلال تفاعل الزائرين مع صفحتك. بعض الاستثناءات موجودة ، ولكن حمل حدث على النافذة نفسها ، والذي يتم تشغيله عندما تنتهي الصفحة من التحميل.

الوظائف المرفقة بالأحداث في عناصر الصفحة

سيتم تشغيل أي وظائف مرتبطة بأحداث على عناصر داخل الصفحة نفسها وفقًا لإجراءات كل زائر فردي - يعمل هذا الرمز فقط عندما يقع حدث معين لتشغيله. لهذا السبب ، لا يهم إذا لم يتم تشغيل الشفرة مطلقًا لزائر معين ، حيث من الواضح أن هذا الزائر لم يقم بالتفاعل الذي يتطلبه.

كل هذا ، بالطبع ، يفترض أن زائرك قد دخل إلى صفحتك باستخدام متصفح له جافا سكريبت ممكن.

برامج نصية مخصصة للمستخدم

قام بعض المستخدمين بتثبيت برامج نصية خاصة قد تتفاعل مع صفحة الويب الخاصة بك. تعمل هذه البرامج النصية بعد كل التعليمات البرمجية المباشرة الخاصة بك ، ولكن قبل أي رمز مرفق بمعالج حدث التحميل.

نظرًا لأن صفحتك لا تعرف شيئًا عن نصوص المستخدم هذه ، فليس لديك طريقة لمعرفة ما يمكن أن تفعله هذه النصوص الخارجية - يمكنهم تجاوز أي أو كل الشفرة التي أرفقتها بالعديد من الأحداث التي قمت بتعيينها معالجة. إذا تجاوزت هذه الشفرة معالجات الأحداث أو المستمعين ، فستعمل الاستجابة لمشغلات الحدث على تشغيل الشفرة التي حددها المستخدم بدلاً من الشفرة أو بالإضافة إليها.

نقطة الانتقال إلى المنزل هنا هي أنه لا يمكنك افتراض أن الرمز المصمم للتشغيل بعد تحميل الصفحة سيسمح له بالعمل بالطريقة التي صممتها بها. بالإضافة إلى ذلك ، كن على دراية بأن بعض المتصفحات لديها خيارات تسمح بتعطيل بعض معالجات الأحداث داخل المتصفح ، في هذه الحالة ، لن يقوم مشغل الحدث ذي الصلة بتشغيل معالج / مستمع الحدث المطابق في الشفرة.

instagram story viewer