☰ Year plan · Communication Technology (Arabic)

صفحات ديناميكية واختبار ولعبة

Week 14 · Chapter 13 AI Programming (2): dynamic web pages, presenting your site, a quiz app, a block-breaker game and reviewing what you built · 3 lessons
1

صفحات تتفاعل: صفحات الويب الديناميكية

ICT Secondary 1 Term 1, Chapter 13, Lessons 13-5 to 13-12: pp. 205–218
الهدفأصف كيف تتفاعل الصفحة مع النقر أو الكتابة وأجد خطأً بسيطًا بالقراءة.
كلمات جديدة
الصفحة الديناميكية · صفحة تتغير عندما يفعل المستخدم شيئًاالحدث (⁦event⁩) · شيء يحدث مثل نقرة أو ضغطة مفتاحمعالج الحدث · الشفرة التي تعمل عند حدوث الحدثالتصحيح (⁦debugging⁩) · إيجاد خطأ في برنامج وإصلاحه
الشرح

الصفحة الثابتة تبدو نفسها دائمًا، أما الصفحة الديناميكية فتتغير عندما يتصرف المستخدم. ويسمى التصرف حدثًا، مثل النقر على زر أو الضغط على مفتاح. والشفرة التي تعمل للحدث هي المعالج، ونربطه بسطر مثل ⁦button.onclick = () => { ... }⁩. والصفحة التي تعدّ النقرات تحفظ العدد في متغير ⁦count⁩. كل نقرة تنفذ ⁦count = count + 1⁩ ثم تكتب القيمة الجديدة في الصفحة، فبعد ثلاث نقرات تعرض الصفحة ٣. ولقراءة ما كتبه المستخدم في مربع إدخال نستخدم خاصية ⁦value⁩: تحمل ⁦box.value⁩ النص المكتوب، فتعرض ⁦"Hello " + box.value⁩ العبارة ⁦Hello Mona⁩ إذا كُتب ⁦Mona⁩. وإذا لم تفعل الصفحة ما تتوقعه فصحّح: اقرأ رسالة الخطأ إن وُجدت، ثم اقرأ الشفرة سطرًا سطرًا، وغيّر شيئًا واحدًا، ثم اختبر من جديد. وفي المثال الخاطئ تبقى الصفحة فارغة لأن JavaScript حساسة لحالة الأحرف: ⁦textcontent⁩ ليست ⁦textContent⁩، فينشئ السطر خاصية جديدة عديمة الفائدة ولا يتغير النص الظاهر.

أمثلة محلولة
JavaScript
1let count = 0;
2const show = document.getElementById("count");
3document.getElementById("plus").onclick = () => {
4  count = count + 1;
5  show.textContent = count;
6};
عدّاد نقرات. يبدأ المتغير ⁦count⁩ من ٠ وتضيف كل نقرة ١ وتعرضه.
النقرةcountالنص في الصفحة
000
111
222
333
الحالة بعد كل نقرة من العداد.
JavaScript
1const box = document.getElementById("name");
2document.getElementById("hello").onclick = () => {
3  document.getElementById("out").textContent = "Hello " + box.value;
4};
قراءة مربع إدخال. إذا كتب المستخدم ⁦Mona⁩ ونقر فتعرض الفقرة ⁦Hello Mona⁩.
JavaScript
1const show = document.getElementById("count");
2let count = 0;
3document.getElementById("plus").onclick = () => {
4  count = count + 1;
5  show.textcontent = count;
6};
خطأ. تبقى الصفحة فارغة لأن حالة الأحرف في ⁦textcontent⁩ خاطئة. والإصلاح تغيير واحد: ⁦textContent⁩.
نشاط الفصل

على الورق تتبع عدّاد النقرات لخمس نقرات واكتب النص في الصفحة بعد كل نقرة. ثم غيّر المعالج لتضيف كل نقرة ٢ واكتب الجدول الجديد. وأخيرًا اكتب روتين التصحيح في أربع خطوات قصيرة.

تدرّب
1
ما الحدث؟ اذكر مثالين.
2
المعالج يضيف ٢ بدل ١ (⁦count = count + 2⁩). ماذا تعرض الصفحة بعد ٥ نقرات؟
3
في مثال الإدخال ماذا تعرض الفقرة إذا كتب المستخدم ⁦Sara⁩؟
4
لماذا لا تغيّر ⁦textcontent⁩ النص؟