بالنظر إلى موقع الويب الحالي، فإن سرعة الإنترنت بطيئة بعض الشيء، ولكن تحتوي كل صفحة تقريبًا على الكثير من الأشياء المتشابهة مثل اللافتات وصور الأعمدة وحقوق النشر وما إلى ذلك. بالطبع، بسبب الحاجة إلى نمط موقع ويب موحد وتأثير إعلاني ، فلا حرج في ذلك، ولكن بعد كل شيء، يتم استنزاف أموال محافظ المستخدمين بشكل متزايد بسبب هذه الأشياء "المزخرفة". هل هناك أي طريقة لمنع تنزيل هذه الأشياء المشابهة مرة أخرى بعد تنزيلها مرة واحدة فقط. محتوى الويب في المناطق التي تغير فيها محتوى القماش الصوفي؟
الجواب هو بالتأكيد: قم بتطبيق علامة Iframe!
1. استخدام علامات Iframe
عندما يتعلق الأمر بـ Iframe، ربما تكون قد ألقيته بالفعل في "الزاوية المنسية"، ولكن عندما يتعلق الأمر بأخيه Frame، فلن تكون غير مألوف. علامة الإطار هي علامة إطار، ما نسميه بنية متعددة الإطارات هو عرض ملفات HTML متعددة في نافذة المتصفح. الآن، نواجه موقفًا واقعيًا للغاية: إذا كان هناك برنامج تعليمي، فسيتم تقسيمه إلى أقسام واحدًا تلو الآخر، وفي نهاية كل صفحة، توجد روابط إلى "القسم السابق" و"القسم التالي"، باستثناء محتوى. يختلف كل برنامج تعليمي عن الآخر، بالإضافة إلى ذلك، يبدو أن محتوى الأجزاء الأخرى من الصفحة هو نفسه، مما يجعل إنشاء صفحات غبية صفحة تلو الأخرى أمرًا مملًا للغاية الصفحة دون تغيير، فقط قم بتحويل البرنامج التعليمي إلى صفحة واحدة لا تحتوي صفحة محتوى الصفحة تلو الأخرى على محتوى آخر عند النقر فوق رابط الصفحة لأعلى أو لأسفل، سيتم تغيير جزء محتوى البرنامج التعليمي فقط، وستظل الأجزاء الأخرى دون تغيير، وبهذه الطريقة، يتم توفير الوقت والآخر هو أنه إذا كان البرنامج التعليمي يحتوي على ثلاثة تغييرات طويلة وتغييرين قصيرين في المستقبل، فسيكون أيضًا مريحًا للغاية، ولن يؤثر على الجيش بأكمله، والأهم من ذلك، اللافتة الإعلانية وقائمة الأعمدة والملاحة وأشياء أخرى يتم تضمينها في كل صفحة تقريبًا ويمكن تنزيلها مرة واحدة فقط ثم يتوقف تنزيلها.
علامة Iframe، والتي تسمى أيضًا علامة الإطار العائم، يمكنك استخدامها لتضمين مستند HTML في شاشة HTML. أكبر ميزة تختلف عن علامة الإطار هي أن ملف HTML المشار إليه بواسطة هذه العلامة لا يتم عرضه بشكل مستقل عن ملفات HTML الأخرى، ولكن يمكن تضمينه مباشرة في ملف HTML ودمجه مع محتوى ملف HTML ليصبح كاملاً بالإضافة إلى ذلك، يمكنك أيضًا عرض نفس المحتوى عدة مرات على الصفحة دون الحاجة إلى كتابة المحتوى بشكل متكرر.
الآن دعونا نتحدث عن استخدام علامات Iframe.
تنسيق استخدام علامة Iframe هو:
<Iframe src = "URL" width = "x" height = "x" التمرير = "[OPTION]"frameborder = "x"></iframe>
src: مسار الملف، والذي يمكن أن يكون ملف HTML، أو نصًا، أو ASP، وما إلى ذلك؛
العرض والارتفاع: عرض وارتفاع منطقة "صورة داخل صورة"؛
التمرير: عندما لا يتم عرض ملف HTML المحدد لـ SRC في المنطقة المحددة، فإن خيار التمرير، إذا تم ضبطه على NO، لن يظهر شريط التمرير إذا كان تلقائيًا: سيظهر شريط التمرير تلقائيًا إذا كان نعم؛ سيتم عرضه؛
FrameBorder: عرض حدود المنطقة لمزج "صورة داخل صورة" مع المحتوى المجاور، غالبًا ما يتم تعيينه على 0.
على سبيل المثال:
<Iframe src = "http://netschool.cpcw.com/homepage" width = "250" height = "200" التمرير = "no"frameborder = "0"></iframe>
2. التحكم المتبادل بين النموذج الأصلي والإطار العائم
في لغة البرمجة النصية والتسلسل الهرمي للكائنات، تسمى النافذة التي تحتوي على Iframe النموذج الأصلي، ويسمى الإطار العائم النموذج الفرعي. من المهم فهم العلاقة بين الاثنين، لأنه يجب الوصول إلى النافذة الفرعية في الأصل يجب أن يكون التسلسل الهرمي للكائنات معروفًا قبل الوصول إلى النموذج والتحكم فيه برمجيًا، أو العكس.
1. الوصول إلى الكائنات الموجودة في النموذج الفرعي والتحكم فيها في النموذج الأصلي <br/> في النموذج الأصلي، يعد Iframe، أي النموذج الفرعي، كائنًا فرعيًا لكائن المستند. يمكنك الوصول مباشرة إلى الكائنات الموجودة في النموذج الفرعي الكائن البرنامج النصي.
الآن هناك سؤال، كيف يمكننا التحكم في إطار Iframe هذا؟ هنا نحتاج إلى التحدث عن كائن Iframe. عندما نقوم بتعيين سمة المعرف لهذه العلامة، يمكننا تنفيذ سلسلة من عناصر التحكم على HTML الموجود في Iframe من خلال Document Object Model DOM.
على سبيل المثال، قم بتضمين ملف test.htm في example.htm والتحكم في بعض كائنات العلامات في test.htm:
<Iframe src = "test.htm" id = "test" width = "250" height = "200" التمرير = "no"frameborder = "0"></iframe>
رمز ملف test.htm هو:
<أتش تي أم أل>
<الجسم>
<h1 id="myH1">مرحبًا يا ولدي</h1>
</الجسم>
</html>
إذا أردنا تغيير النص الموجود في علامة H1 برقم المعرف myH1 إلى مرحباً يا عزيزي يمكننا استخدام:
document.myH1.innerText="مرحبا، عزيزتي"(يمكن حذف المستند)
في ملف example.htm، يتوافق النموذج الفرعي المشار إليه بواسطة كائن علامة Iframe مع نموذج كائن DHTML العام، وطريقة التحكم في الوصول إلى الكائن هي نفسها، لذلك لن أخوض في التفاصيل.
2. الوصول إلى الكائنات الموجودة في النموذج الأصلي والتحكم فيها في النموذج الفرعي <br/> في النموذج الفرعي، يمكننا الوصول إلى الكائنات الموجودة في النافذة الأصلية من خلال الكائن الأصلي (الأصل) الخاص بها.
مثل example.htm:
<أتش تي أم أل>
<body onclick="alert(tt.myH1.innerHTML)">
<اسم الإطار = "tt" src = "frame1.htm" العرض = "250" الارتفاع = "200" التمرير = "لا" إطار الحدود = "0"></iframe>
<h1 id="myH2">مرحبا زوجتي</h1>
</الجسم>
</html>
إذا أردنا الوصول إلى نص العنوان فيframe1.htm برقم المعرف myH2 وتغييره إلى "hello,my friends"، فيمكننا الكتابة على النحو التالي:parent.myH2.innerText="hello,my friends"
هنا يمثل الكائن الأصل النموذج الحالي (النموذج الذي يوجد به example.htm). للوصول إلى الكائنات الموجودة في النموذج الأصلي في النموذج الفرعي، بدون استثناء، يتم ذلك من خلال الكائن الأصل.
على الرغم من أن إطار Iframe مضمن في ملف HTML آخر، إلا أنه يظل مستقلاً نسبيًا ويعتبر "مملكة مستقلة". تنطبق الخصائص الموجودة في ملف HTML الواحد أيضًا على الإطارات العائمة.
فقط تخيل أنه من خلال علامة Iframe، يمكننا التعبير عن المحتوى غير المتغير باعتباره Iframe، وبهذه الطريقة، لا يتعين علينا كتابة نفس المحتوى بشكل متكرر، وهذا يشبه إلى حد ما عملية أو وظيفة في البرمجة، وكم هو ممل يتم حفظ العمل! بالإضافة إلى ذلك، والأهم من ذلك، أنه يجعل تعديلات الصفحة أكثر جدوى، لأنه بدلاً من الاضطرار إلى تعديل كل صفحة لضبط التخطيط، تحتاج فقط إلى تعديل تخطيط نموذج أصل واحد.
شيء واحد يجب ملاحظته هو أن متصفح Nestscape لا يدعم علامة Iframe، ولكن في عالم IE اليوم، لا يبدو أن هذا يمثل مشكلة كبيرة في استخدام علامات Iframe، ليس فقط من أجل مصلحتها الخاصة (موقع الويب)، ولكن أيضًا لمستخدمي الإنترنت لتوفير رسوم الإنترنت، لماذا لا؟