كيف تتعامل المتصفحات مع الوسوم الغير معروفة ؟!

علامة الاستفهام؛ وجودها في آخر العنوان منطقي لأنه سؤال، أما علامة التعجب فلم
موجودة!، لماذا التعجب ، حسنا سبب ذلك أنك عندما ترى كيف تتعامل المتصفحات مع العناصر الغير معروفة ،
ستسغرب ، فهي تختلف عن بعضها البعض.
لنأخذ في البداية متصفح الفايرفوكس ، فتعريف العناصر يتم في ملف nsElementTable.cpp
، وبالتالي أي عنصر  أو أي وسم غير موجودين في هذا الملف ، فإن المتصفح لا
يتعرف عليه.
طيب ، ماشي ، ولكن ما الفائدة من هذا الكلام ؟
الفائدة أنه طالما يوجد وسم غير معروف في المتصفح فستكون هنالك عدة مشاكل على
رأسها
1- كيف سيتعامل المتصفح مع عرض هذا الوسم ( أتكلم عن الشكل style  )
2= كيف سيعرض المتصفح العناصر التي بداخله ( الأبناء ) فنحن نعرض عن الوسم ul 
يجب أن يكون بداخله وسوم li  ولها طريقة معينة للعرض ، ولو كان الوسم ul 
غير معروف ، فإننا نتوقع مصيبة في الشكل ( DOM tree ).
لا أريد الخوض في تفاصيل
كل متصفح على حدة ، ولكن لنقل أن كل المتصفحات في هذا الجانب تتصرف
بعقلانية ، إلا المتصفح عزيزي الإنترنت إكسبلورر 8 وما قبل ( الإصدار 9 مختلف )،
وهذا سبب كتابة المقال ، لأن الهدف حل المشاكل، والمشاكل موجودة هنا في الإكسبلورر
فقط.
إذا ما الحل مع الإكسبلورر ؟
الحل يكمن في استخدام مكتبة جافا سكريبت لدعم العناصر الجديدة ( مثلا في HTML 5 
) ، وأيضا عدم إضافة ستايل لهذه العناصر ، والمقصد هنا استايل باسم الوسم nav 
جديد في html5  يجب عدم إضافة ستايل باسمه بهذا الشكل مثلا


 nav {  color:Red }

أما حل المشكلة المشكلة الثانية وهي عدم ظهور شجرة DOM ، وهنا أقصد احتواء العنصر
على أبنائه ، فيكمن في استخدام مكتبات الجافا سكريبت المتوفرة لجعل هذا العنصر
مدعوم، وبنظري أفضل مكتبة لهذا الغرض HTML5 enabling script.
لنقم الآن لكتابة الخلاصة
إذا كنت ستستخدم ال HTML5  كما في هذا الموقع www.deveworld.com ( أول موقع
عربي بمعايير HTML 5  صحيحة ) ، فعليك بالتالي
1- تضمين مكتبة الجافا سكريبت للاحتياط ، وهذا للمتصفحات القديمة / اكسبلورر 8 ،
فايرفوكس 3 … إلخ.
2- عدم وضع ستايل للعناصر الجديدة.

About the author

خليل سليم

Leave a Comment

هذا الموقع يستخدم Akismet للحدّ من التعليقات المزعجة والغير مرغوبة. تعرّف على كيفية معالجة بيانات تعليقك.