• الرئيسية
  • تعرف علي
  • اتفاقية النشر
  • اتصال
  • خدمات
  • تابع خلاصات المدونة

« تطبيق : جعل أكثر من شكل للموقع ، مع امكانية الاختيار للزائر
طرق عمل متغيرات php داخل css »
7

تفصيلات التوافقية في IE8

سبتمبر
11

بسم الله الرحمن الرحيم، اليوم إن شاء الله سنحاول أن نزيل الحجاب على المشاكل التي صادفت البعض مع IE8 ، مع تبيين بعض المميزات الجديدة المفيدة للمطورين لهذا المتصفح ،سألخص أفكار درسي اليوم في التالي :

  1. شرح مبدأ التوافقية
  2. حالات التوافقية في IE8
  3. تطوير لتطبيق Js لعمل emulate
  4. كلمة حق في 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 ،
  • انا لا احب الاكسبلورر ولا استعمله للاستعمال الشخصي ، ولكن كلمة حق تقال فيه ، ونحن إذا تكلمنا في هذه الافكار ليس لأننا نحبه ، ولكن من باب معرفة الشيء خير من جهله .

هذا ، و السلام عليكم ورحمة الله وبركاته

انشر هذا المقال
  • Digg
  • del.icio.us
  • Facebook
  • Google Bookmarks
  • Live
  • MySpace
  • TwitThis
  • Yahoo! Buzz
  • FriendFeed
  • LinkedIn
  • Ping.fm
  • StumbleUpon

هذه التدوينة نُشرت في الجمعة, 11 سبتمبر, 2009 عند 1:16 م و مصنفة تحت تصنيف JavaScript, css , xhtml. يمكنك متابعة أي تعليقات عبر رابط RSS 2.0. يمكنك ترك تعليق, أو تعقيب من مدونتك.
الوسوم :IE8, تفصيل, توافق

    لتكون على علم بآخر المواضيع و المقالات المضافة في fez-soft blog يمكنك الاشترك في :
  • خلاصات المقالات
  • خلاصات التعليقات
  • متابعة الكاتب على twitter
  • القائمة البريدية : بمجرد أن تضع بريدك الالكتروني و تشترك ، سنصلك قائمة بآخر المواضيع المضافة في المدونة تلقائيا إلى بريدك الالكتروني .
متابعة معلومات عن المقال
« تطبيق : جعل أكثر من شكل للموقع ، مع امكانية الاختيار للزائر
طرق عمل متغيرات php داخل css »

7 من التعليقات لـ “تفصيلات التوافقية في IE8”

  1. أسامة قال:
    11 سبتمبر 2009 عند 1:31 م

    شكرا أخي محمد على الدرس الجديد جدا علي..

    صادفت موضوعا في Google reader يتحدث عن هذه الخواص في الـ IE8 لكني لم أعره اهتماما..

    و كما ذكرت, أظن أن أفضل ما أنتجته Microsoft حتى هذه اللحظة, هو المتصفح IE8. متصفح مريح جدا بالطبع يلزمه بعض الأسطر لجعله داعما و متوافقا مع المعايير لكن ليس دائما, لنقل أنه قليلا ما يحتاج لدعم, كثيرا ما أشبهه بسفاري لولا أن هذا الأخير يدعم css3 خلافا لـ IE8 ..

    ردرد
  2. فراس قال:
    11 سبتمبر 2009 عند 1:31 م

    بارك الله فيك، أضفت الصفحة للمفضلة للعودة لاحقاً.

    دمت بخير.

    ردرد
  3. عبدالرحمن قال:
    11 سبتمبر 2009 عند 1:51 م

    السلام عليكم

    صحيح إكسبلور 8 رائع ومتوافق مع المشاريع الجديدة والتنقيات الجديدة

    ولاكن ماذا عن صور الـ png صحيح انه يدعنها لا كن يوجد بعض التشويه الكبير يعتبر مزعج لنا كمطورين
    ونستطيع رؤية موقع الشركة خاصتي http://www.des-stu.com ورؤية صور الـ png عند التأثير المتحرك عليها ومن دونه ايضاً
    أرجوا أن يكون لها حل إستثنائي او يتم دعم هذه الصيغة التي تعتبر مهمه لمطورين الويب في الإصدارات التالبة من الإكسبلور

    وبالتوفيق

    ردرد
  4. zoe4ever قال:
    11 سبتمبر 2009 عند 6:55 م

    جزاك الله كل خير اخي فؤاد

    مقال متميز.

    ردرد
  5. Fez-Soft قال:
    11 سبتمبر 2009 عند 8:15 م

    اهلا بالجميع ،
    zoe4ever : اسمي محمد و ليس فؤاد :) ،
    شكرا للمرور و التعقيب

    ردرد
  6. nizaradil قال:
    12 سبتمبر 2009 عند 2:21 م

    مشكور يا محمد .. آستخدم حالياً IE8 – سلس ومريح اكثر من السابع ،

    الناس بتمدح الـMozilla Firefox – لكني لا ارتاح إلا مع الـIE.

    ردرد
  7. cssbit@gmail.com قال:
    13 سبتمبر 2009 عند 6:40 م

    جميل جدا
    اشعر بالتشوش بين متصفحات Microsoft والسبب ان البعض يستعمل 6 والبعض يستعمل 7 في حين انتقل البعض لاستعمال الاصدار الجديد – وبالتاكيد هناك اختلافات فقد يتوافق الموقع مع IE8 ولا يتوافق مع IE6 ..

    كتابة ترقيعات للمتصفحات الثلاث امر مرهق وفيه مضيعة كبيرة للوقت والجهد
    بفضل هذا الحل يمكنني الان كتابة ترقيع فقط للاصدار السادس والسابع

    شكرا لك

    ردرد

إكتب تعليقك

اضغط هنا لإلغاء الرد.

إذا أردت أن تظهر صورة بجانب اسمك في التعليق ، شارك في خدمة Gravatar .

  • Donate

    إذا أعجبتك المدونة و رأيت أنك قد استفدت منها و تريد أن تدعمني ، يمكنك أن تشتري لي أحد الكتب التي أحتاج قراءتها ، من Amazon .
  • تصنيفات

    • css , xhtml
    • JavaScript
    • Photoshop, Flash, illustrator
    • PHP
    • تطوير
    • عام
  • مواقعي

    • SetCode
    • Fez-Soft Portfolio
    • مدونة محمد شاطر
  • الأرشيف

    • يوليو 2010
    • يونيو 2010
    • أبريل 2010
    • فبراير 2010
    • يناير 2010
    • ديسمبر 2009
    • نوفمبر 2009
    • أكتوبر 2009
    • سبتمبر 2009
    • أغسطس 2009
    • يوليو 2009
    • يونيو 2009
    • مايو 2009
  • كلمات مفتاحية

    alert Application Assembler confirm css div html html4 html5 javascript jquery media opacity PHP prompt screen Top xhtml أفكار إخفاء إظهار استدعاء تأثير ترقيع تسريع تصميم تطبيق تفصيل تنسيق توافق توزيع ثلاثي أبعاد حقوق روابط زجاجي صفحات عميل فكرة قائمة قالب قواعد متفرعة مشاريع مصمم مطور
  • روابط

    • مدونة يزيد

© Fez-Soft Blog

    All right reserved , Theme By Fez-Soft , RSS posts , RSS comments .
  • تعرف علي
  • اتفاقية النشر
  • خدمات
  • اتصال
  • الرئيسية
عن Fez-Soft
mohammed chater مرحبا ، اسمي محمد شاطر ، Mohammed chater , أعرف تحت مسمى Fez-Soft, طالب و مصمم و مطور تطبيقات ، من فاس المغرب . . يمكنك أن تتعرف علي اكثر من هنا ، أو متابعة حسابي على twitter ، ستجد في هذه المدونة دروسا تطويرية للمستوى المتقدم في تصميم الويب ، و البرمجة بالـ JavaScript , يمكنك متابعتها من خلال الخلاصات ، كما يمكنك أن تراسلني من هنا ، لو دعت الضرورة لذلك ، آمل ان يكون وقتك في المدونة لك ، لا عليك .
الأكثر زيارة
  • فضلا .. لا تستعمل Framework css
  • الخطوط العربية : قواعد ، أفكار و حيل
  • SetCode خدمة جديدة تطل على عالم المطورين
  • ترقيعات css ، الجمل الشرطية ، بالتفصيل الممل
  • قائمة أفقية ، مع تحديد title بـ jQuery بطريقة فريدة
  • تطبيقات hover على عناصر text و ليس صور
آخر التعليقات
  • كمال  : السلام عليكم استفسار بسيط واعتقد انه مهم ومفيد ن...
  • صلاح الإمام  : جزاك الله كل خير ع الطرح الرائع...
  • مفيد  : رائع منذ فترة و انا ابحث عن هذه المعلومات...
  • عبدالله  : شكرا لك على جملة النصائح...
  • ندى  : شكراً لك .. ولكن مشاكل الترميز توتر الشخص !...