نوفيل
الرئيسيةالكورساتالتحديات⚔️ المبارزاتالمقالاتالأدواتتغريداتالمجتمع
دخولابدأ مجاناً
الرئيسيةالكورساتالتحديات⚔️ المبارزاتالمقالاتالأدواتتغريداتالمجتمع
نوفيل

منصة تعليم البرمجة الأولى بالعربي. تعلم من الصفر حتى الاحتراف مع كورسات احترافية وتحديات ذكاء اصطناعي.

المنصة

  • الكورسات
  • التحديات
  • المقالات
  • الأدوات

الحساب

  • إنشاء حساب
  • تسجيل الدخول
  • لوحة التحكم
  • الملف الشخصي

روابط

  • سياسة الخصوصية
  • شروط الاستخدام
  • عن نوفيل
  • تواصل معنا

© 2026 نوفيل. جميع الحقوق محفوظة.

صُنع بـ في مصر

نوفيل
الرئيسيةالكورساتالتحديات⚔️ المبارزاتالمقالاتالأدواتتغريداتالمجتمع
دخولابدأ مجاناً
الرئيسيةالكورساتالتحديات⚔️ المبارزاتالمقالاتالأدواتتغريداتالمجتمع
HTML

منهج HTML

دليل مرجعي شامل

كل اللغات
مدرسة البرمجة/منهج HTML/ربط السكريبتات (script, noscript)

ربط السكريبتات (script, noscript)

script htmlnoscript htmlhtml javascriptdefer async htmlscript tag html

الشرح

<script>: • يضمّن JavaScript مباشرةً أو يرتبط بملف خارجي • الصفات المهمة: - src: مسار ملف JS خارجي - defer: تحميل الملف بالتوازي، تنفيذه بعد بناء HTML (الأفضل للـ head) - async: تحميل وتنفيذ بشكل غير متزامن (للسكريبتات المستقلة) - type: "module" لـ ES modules - nomodule: يعمل فقط للمتصفحات التي لا تدعم modules

<noscript>: • يظهر محتواه فقط عندما JavaScript معطّل أو غير مدعوم • يستخدم لرسائل تحذير للمستخدمين • محتواه يُفهرسه جوجل (يُقرأ كـ fallback content)

أين تضع script؟ • في head مع defer: لسكريبتات الصفحة الرئيسية • في نهاية body: للمتصفحات القديمة (لا تدعم defer) • async: للسكريبتات المستقلة مثل Google Analytics',

الصياغة (Syntax)

syntax
1<!-- في الـ head - الطريقة الحديثة -->
2<head>
3 <!-- defer: تحميل متوازٍ، تنفيذ بعد HTML -->
4 <script src="/app.js" defer></script>
5
6 <!-- async: مستقل عن تدفق الصفحة -->
7 <script src="/analytics.js" async></script>
8
9 <!-- ES Module -->
10 <script type="module" src="/main.mjs"></script>
11
12 <!-- نص JS مضمّن -->
13 <script>
14 console.log('الصفحة جاهزة');
15 </script>
16</head>
17
18<!-- noscript: رسالة للمستخدمين -->
19<noscript>
20 <p>هذا الموقع يعمل بشكل أفضل مع تفعيل JavaScript.
21 يرجى تفعيله لتجربة كاملة.</p>
22</noscript>
23
24<!-- noscript مع CSS بديل -->
25<noscript>
26 <style>
27 .requires-js { display: none; }
28 .no-js-content { display: block; }
29 </style>
30</noscript>

أمثلة عملية

مثال 1: تضمين سكريبتات بشكل صحيح

تضمين سكريبتات بشكل صحيح
1<!DOCTYPE html>
2<html lang="ar" dir="rtl">
3<head>
4 <meta charset="UTF-8">
5 <title>تطبيقي</title>
6
7 <!-- تحليلات: async لأنها مستقلة -->
8 <script async src="https://analytics.example.com/tracker.js"></script>
9
10 <!-- سكريبت التطبيق الرئيسي: defer -->
11 <script defer src="/js/app.js"></script>
12</head>
13<body>
14
15 <noscript>
16 <div class="no-js-warning">
17 <strong>⚠️ تنبيه:</strong>
18 يرجى تفعيل JavaScript للاستفادة من كامل مميزات الموقع.
19 </div>
20 </noscript>
21
22 <main id="app">
23 <!-- المحتوى يُحقن بـ JS -->
24 </main>
25
26 <!-- سكريبت يعتمد على DOM: في نهاية body -->
27 <script>
28 // مثال: تهيئة بسيطة بعد DOM
29 document.querySelector('#app').classList.add('loaded');
30 </script>
31
32</body>
33</html>

نصائح احترافية

  • —defer أفضل من async لسكريبتات التطبيق الرئيسية — defer يحترم ترتيب الملفات وينفذها بالتسلسل بعد بناء HTML. async ينفذ بمجرد التحميل بدون ترتيب مضمون، مناسب للـ trackers والـ widgets المستقلة.

الدرس السابق

العناصر التفاعلية (details, summary, dialog)

الدرس التالي

الرسوميات (canvas, svg)

نوفيل

منصة تعليم البرمجة الأولى بالعربي. تعلم من الصفر حتى الاحتراف مع كورسات احترافية وتحديات ذكاء اصطناعي.

المنصة

  • الكورسات
  • التحديات
  • المقالات
  • الأدوات

الحساب

  • إنشاء حساب
  • تسجيل الدخول
  • لوحة التحكم
  • الملف الشخصي

روابط

  • سياسة الخصوصية
  • شروط الاستخدام
  • عن نوفيل
  • تواصل معنا

© 2026 نوفيل. جميع الحقوق محفوظة.

صُنع بـ في مصر