بسم الله الرحمن الرحيم، اليوم إن شاء الله سنحاول أن نزيل الحجاب على المشاكل التي صادفت البعض مع IE8 ، مع تبيين بعض المميزات الجديدة المفيدة للمطورين لهذا المتصفح ،سألخص أفكار درسي اليوم في التالي :
- شرح مبدأ التوافقية
- حالات التوافقية في IE8
- تطوير لتطبيق Js لعمل emulate
- كلمة حق في IE8
الدرس مفيد لكل مطور ، بلا استثناء حتى لا نحكم على أي متصفح حتى أن نعلم خفايا تطويره بالتفصيل
شرح مبدا التوافقية
متصفح explorer الذي تنتجه شركة microsoft ، يلقى صدا كبيرا من لدن المطورين ، وذلك لعدم تلبيته لرغباتهم ، سواء في عدم توافقه مع كل المعايير القياسية ، أو لقلة إمكاناته التي يقدمها للمستخدم ، قامت microsoft بزرع أوامر جديدة تعمل على هذا المتصفح فقط ( بشروط ) ليستفيد منها كل من يشتكي من هذا المتصفح، وكان من بين هذه الأوامر Emulate او – المحاكاة – حيث يمكننا ان نتحكم في نسخة المتصفح للزائر لو كان يستعمل الاصادر 8 ، فنجعله 5 أو 7 على حسب احتياجاتنا ، ويتم قراءة مشروعك من لدن جهاز هذا الزائر و كانه يستعمل الاصدار الذي تريد أنت ، لا الإصدار الثامن ، من هنا جاءت فكرة Emulate ، و يتم استغلال هذا بالأمر التالي في meta
<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7" />
حيث ان IE=EmulateIE7 تقول لمتصفح الاكسبلورر ، ألن يستعمل الاصدار الثامن الذي هو عليه ، و إنما افتح لي هذا الموقع وكأنك تستعمل الاصدار السابع ، طبعا من شروط العمل بهذه الطريقة وهي أن تكون صفحة الويب الحالية تحتوي على توجيه في أولها او ما يعرف بـ DOCTYPE
ماذا لو لم تكن صفحتي تحتوي على توجيه معين في أولها ؟ يعني مباشرة تبتدأ بـوسم Html للأسف هذا سيعود على مشروعك بالوبال حيث سيتم تصفير اعدادات الاصدار الى الاصدار IE5 و يتم قراءة متصفحك بهذا الاصدار القديم ، لذلك حاول أن لا تنسى التوجيه في أول الصفحة
< !DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Strict//EN">
حالات التوافقية في IE8
القيمة IE في meta تأخذ قيم كثيرة يمكنني أن الخصها في هذه القائمة :
- IE=EmulateIE8 : إذا كان هناك توجيه في أول الصفحة سيتم اعتبار الاصدار كأنه IE8 ، اذا لم يوجد توجيه ، سيعتبره IE5 .
ربما تقول لي ، نحن نطبق هذه الأوامر في IE8 فكيف يتم اعتبار المتصفح اصدارا ثامنا ، هذا الأمر الأول ستحتاجه في النسخ الجديدة من IE حيث لو اضطررت لرجوع الى اعدادات IE8 يمكنك ذلك . - IE=EmulateIE7 : نفس الكلام الذي فوق ، إلا أنه يعتبر الاصدار IE7
- IE=Edge : هذا الاختيار يتيح لك أن تختار الاصدار اعلى اصدار للأكسبلورر ، طبعا ما بعد IE8 ، وغالبا ما يستعمل هذا الخيار الا في حالة التجربة .
- IE=8 : بهذا الخيار الصفحة تدعم IE8 ،و يسمى هذا الوضع بـ : وضع المعايير – ie8 standards mode
- IE=7 : بهذا الخيار ندعم IE7 ، و يمكننا تسميته بـ ie7 standards mode
- IE=5 : كذلك هنا ندعم النسخة IE5 ، ويسمى بـ : quirks mode
تطوير لتطبيق Js لعمل emulate
طبعا يمكننا عمل تطبيق صغير يفي بنفس الغرض ، حيث سنستعمل الخاصية documentMode للكائن document ، تابع :
engine = null; if (window.navigator.appName == "Microsoft Internet Explorer") { // إذا كان المستعرض المستعمل هو IE if (document.documentMode) // إذا كان IE8 engine = document.documentMode; else // أي إذا كان IE5 او IE7 { engine = 5; // افتراضيا نعطيه قيمة الاصدار 5 if (document.compatMode) { if (document.compatMode == "CSS1Compat") engine = 7; // اما لو كان دعم compatMode فنعطيه الاصدار 7 } } // الآن ، المتغير engine يدعم وضع التوافقية }
حاول أن تقرأ التعليقات، فكل شيء ظاهر فيها
كلمة حق في IE8
- عن تجربة فإن ie8 اكثر دعما للمعايير من ie7 ، و غالب الذين كانوا يتغنون بأن ie8 غير جيد ، جلهم لا يعملون مشاريع موافقة للمعايير ، او على الاقل غير موافقة لجميع المتصفحات
- الأصل في التطوير أن تجعل موقعك موافقا لجميع المتصفحات بالدرجة الأولى ، و ليس موافقا لاختبارات الـ w3c فقط قد يكون موافقا لهذه الاختبارات ولكنه غير موافق لجميع المستعرضات ، ذلك لقة خبرة المصمم أو يكتفي بقول ie8 لا يدعم المعايير مع أنه يجهل مميزات ie8
- أخيرا ، لا تتبع كلام الناس ممن ينقلون الكلام من غير دليل ولا برهان ، وهذا منطلق كل من قرأت لهم ممن يتهمون IE8 ،
- انا لا احب الاكسبلورر ولا استعمله للاستعمال الشخصي ، ولكن كلمة حق تقال فيه ، ونحن إذا تكلمنا في هذه الافكار ليس لأننا نحبه ، ولكن من باب معرفة الشيء خير من جهله .
هذا ، و السلام عليكم ورحمة الله وبركاته
هذه التدوينة نُشرت
في الجمعة, 11 سبتمبر, 2009 عند 1:16 م و مصنفة تحت تصنيف JavaScript, css , xhtml.
يمكنك متابعة أي تعليقات عبر رابط RSS 2.0.
يمكنك ترك تعليق, أو تعقيب من مدونتك.
الوسوم :IE8, تفصيل, توافق
-
لتكون على علم بآخر المواضيع و المقالات المضافة في fez-soft blog يمكنك الاشترك في :
- خلاصات المقالات
- خلاصات التعليقات
- متابعة الكاتب على twitter
- القائمة البريدية : بمجرد أن تضع بريدك الالكتروني و تشترك ، سنصلك قائمة بآخر المواضيع المضافة في المدونة تلقائيا إلى بريدك الالكتروني .












مرحبا ، اسمي محمد شاطر ، Mohammed chater , أعرف تحت مسمى Fez-Soft, طالب و مصمم و مطور تطبيقات ، من فاس المغرب . . يمكنك أن تتعرف علي اكثر من
شكرا أخي محمد على الدرس الجديد جدا علي..
صادفت موضوعا في Google reader يتحدث عن هذه الخواص في الـ IE8 لكني لم أعره اهتماما..
و كما ذكرت, أظن أن أفضل ما أنتجته Microsoft حتى هذه اللحظة, هو المتصفح IE8. متصفح مريح جدا بالطبع يلزمه بعض الأسطر لجعله داعما و متوافقا مع المعايير لكن ليس دائما, لنقل أنه قليلا ما يحتاج لدعم, كثيرا ما أشبهه بسفاري لولا أن هذا الأخير يدعم css3 خلافا لـ IE8 ..
بارك الله فيك، أضفت الصفحة للمفضلة للعودة لاحقاً.
دمت بخير.
السلام عليكم
صحيح إكسبلور 8 رائع ومتوافق مع المشاريع الجديدة والتنقيات الجديدة
ولاكن ماذا عن صور الـ png صحيح انه يدعنها لا كن يوجد بعض التشويه الكبير يعتبر مزعج لنا كمطورين
ونستطيع رؤية موقع الشركة خاصتي http://www.des-stu.com ورؤية صور الـ png عند التأثير المتحرك عليها ومن دونه ايضاً
أرجوا أن يكون لها حل إستثنائي او يتم دعم هذه الصيغة التي تعتبر مهمه لمطورين الويب في الإصدارات التالبة من الإكسبلور
وبالتوفيق
جزاك الله كل خير اخي فؤاد
مقال متميز.
اهلا بالجميع ،
zoe4ever : اسمي محمد و ليس فؤاد :) ،
شكرا للمرور و التعقيب
مشكور يا محمد .. آستخدم حالياً IE8 – سلس ومريح اكثر من السابع ،
الناس بتمدح الـMozilla Firefox – لكني لا ارتاح إلا مع الـIE.
جميل جدا
اشعر بالتشوش بين متصفحات Microsoft والسبب ان البعض يستعمل 6 والبعض يستعمل 7 في حين انتقل البعض لاستعمال الاصدار الجديد – وبالتاكيد هناك اختلافات فقد يتوافق الموقع مع IE8 ولا يتوافق مع IE6 ..
كتابة ترقيعات للمتصفحات الثلاث امر مرهق وفيه مضيعة كبيرة للوقت والجهد
بفضل هذا الحل يمكنني الان كتابة ترقيع فقط للاصدار السادس والسابع
شكرا لك