التعليق: لن يقوم المتصفح بتعيين أي نمط للعناصر غير المعروفة (سيكون للمتصفحات المختلفة أنماط افتراضية مختلفة للعناصر). في الإصدارات قبل IE9 ، من المستحيل أيضًا تعيين أنماط للعناصر غير المعروفة. هناك حل لهذه المشكلة. يمكن للأصدقاء المهتمين الرجوع إليها.
يحتوي كل متصفح على قائمة بعناصر HTML التي يدعمها. سيتم اعتبار العناصر غير المدرجة في القائمة عناصر غير معروفة. لن يقوم المتصفح بتعيين أي نمط للعناصر غير المعروفة (سيكون للمتصفحات المختلفة أنماط افتراضية مختلفة للعناصر). في الإصدارات قبل IE9 ، من المستحيل أيضًا تصميم عناصر غير معروفة. يتم أيضًا عرض DOM للعناصر غير المعروفة بشكل غير صحيح ، وسيقوم IE بإدخال عقدة فارغة بدون عناصر طفل في DOM. جميع العناصر التي اعتقدت في الأصل ستصبح أطفالًا في هذا العنصر المجهول ستصبح العقد الأخ.
هناك حل لهذه المشكلة. قبل استخدام علامة المقالة ، استخدم JS لإنشاء عنصر مقالة كاذبة ، وسوف يتعرف IE على هذا العنصر ، ودعم باستخدام CSS لتعيين الأنماط. هذا العنصر المزيف لا يحتاج إلى إدراج في DOM.
يرجى الاطلاع على المثال التالي:
<! doctype html>
<html lang = "en">
<head>
<meta http-equiv = "content-type" content = "text/html ؛ charset = utf-8">
<title> عناصر غير معروفة </title>
<style>
المادة {Display: Block ؛ الحدود: 1 بكسل Solid Red}
</style>
</meta> </head>
<body>
<article>
<h1> مرحبًا بك في مدونة Feimos </h1>
<p> هذا هو <span> لأول مرة لزيارة هذا الموقع. </span> </p>
</article>
</body>
</html>
لن يتعرف IE6 على المقالات ، لذلك لن يكون هناك حدود حمراء.
ولكن إذا أضفنا جملة JS إلى الرأس ، فسيكون الموقف مختلفًا على الفور.
<script type = "text/javaScript">
document.createElement ("المقالة") ؛
</script>
يتظاهر IE6 بأنه يتعرف على هذا العنصر ويعرض التأثير بشكل صحيح.
يمكننا إنشاء نسخة مزيفة من جميع عناصر HTML5 الجديدة في وقت واحد ، لذلك لا داعي للقلق بشأن المتصفحات التي لا تدعم HTML5 جيدًا في المستقبل. يساعدنا برنامج REMY Sharp's HTML5 Enbering Script في القيام بهذه الأشياء. الفكرة الأساسية لهذا البرنامج النصي هي كما يلي:
<!-[إذا lt ie 9]>
<script type = "text/javaScript">
var e = ("ABBR ، مقال ، جانبا ، الصوت ، قماش ، طبيب البيانات ، التفاصيل ،"+
"الشكل ، تذييل ، رأس ، hgroup ، علامة ، القائمة ، العداد ، NAV ، الإخراج ،"+
"التقدم ، القسم ، الوقت ، الفيديو"). الانقسام ('،') ؛
لـ (var i = 0 ؛ i <e .length ؛ i ++) {
document.createElement (e [i]) ؛
}
</script>
<! [endif]->
أولاً ، استخدم التعليقات التوضيحية الشرطية لتحديد ما إذا كان إصدارًا قبل IE9 ، وإذا كان الأمر كذلك ، قم بتنفيذ JS. اكتب أولاً جميع العلامات الجديدة في صفيف E ، ثم تكرار من خلال الصفيف بأكمله وإنشاء نسخة.
تم استضافة البرنامج النصي بالفعل على استضافة مشروع Google ، يمكنك ربط هذا البرنامج النصي مباشرة:
<!-[إذا lt ie 9]>
<script src = "// html5shim.googlecode.com/svn/trunk/html5.js"> </script>
<! [endif]->
بالإضافة إلى ذلك ، يجب وضع هذا البرنامج النصي في بداية الصفحة ، ويفضل أن يكون ذلك في الرأس ، وليس في الأسفل. وبهذه الطريقة ، سيتم تشغيل هذا الرمز قبل تحليل علامة الصفحة.