internet-explorer - ما الذي يفعله<meta http-equiv="X-UA-Compatible" content="IE=edge">؟




browser (11)

استخدم هذا لإجبار IE على إخفاء زر توافق المتصفح المزعج في شريط العناوين:

<meta http-equiv="X-UA-Compatible" content="IE=edge" />

ما الفرق إذا بدأت صفحة ويب واحدة

<!DOCTYPE html> 
<html> 
  <head> 
    <meta http-equiv="X-UA-Compatible" content="IE=edge"> 

و إذا بدأت الصفحة

<!DOCTYPE html> 
<html> 
  <head> 
     <!-- without X-UA-Compatible meta -->

إذا لم يكن هناك اختلاف ، أفترض أن بإمكاني فقط تجاهل رأس meta X-UA-Compatible ، حيث أريد فقط أن يتم تقديمه في معظم الوضع القياسي في جميع إصدارات IE.


هذا هو LINTERYY 1 استفسار جوجل بعيدا ، ولكن هنا يذهب:

msdn.microsoft.com/en-us/library/jj676915(v=vs.85).aspx

فهم أوضاع الوثائق القديمة

استخدم القيمة التالية لعرض صفحة الويب في وضع الحافة ، وهي أعلى وضع للمقاييس يدعمه Internet Explorer ، من Internet Explorer 6 إلى IE11.

<meta http-equiv="x-ua-compatible" content="IE=edge"

لاحظ أن هذا يعادل وظيفيًا باستخدام نوع HTML5. يضع Internet Explorer في وضع المستند الأعلى دعمًا. تعد ميزة Edge أكثر فائدة لمواقع الويب التي تتم صيانتها بانتظام والتي يتم اختبارها بشكل روتيني من أجل التشغيل المتداخل بين متصفحات متعددة ، بما في ذلك Internet Explorer.

ملاحظة اعتبارًا من IE11 ، يعتبر وضع الحافة هو وضع المستند المفضل. (في الإصدارات السابقة ، كان يعتبر تجريبيًا.) لمعرفة المزيد ، راجع أوضاع المستند تم إهمالها. بدءًا من Windows Internet Explorer 8 ، استخدم بعض مطوري الويب عنصر meta لوضع الحافة لإخفاء زر "عرض التوافق" على شريط العناوين. اعتبارًا من IE11 ، لم يعد هذا ضروريًا حيث تمت إزالة الزر من شريط العناوين. نظرًا لأنه يفرض فتح كافة الصفحات في وضع المقاييس ، بغض النظر عن إصدار Internet Explorer ، قد يميل المستخدم إلى استخدام وضع الحافة لجميع الصفحات التي تمت مشاهدتها باستخدام Internet Explorer. لا تفعل ذلك ، لأن رأس X-UA-Compatible مدعوم فقط من خلال Internet Explorer 8.

تلميح إذا كنت ترغب في أن تقوم كافة الإصدارات المدعومة من Internet Explorer بفتح صفحاتك في وضع المعايير ، فاستخدم تصريح نوع مستند HTML5 ، كما هو موضح في المثال السابق.

ومن بين نتائج البحث أيضًا:


2.1.3.5 X-UA-Compatibility Meta Tag و HTTP Response Header

لن يتم تنفيذ هذه الوظيفة في أي إصدار من Microsoft Edge.

<meta http-equiv="X-UA-Compatible" content="IE=9; IE=8; IE=7; IE=EDGE" />

راجع https://msdn.microsoft.com/en-us/library/ff955275(v=vs.85).aspx

نعم ، أعلم أني تأخرت إلى الحفلة ، لكن لدي بعض القضايا والمناقشات ، وفي النهاية قام رئيس العمل الخاص بي بإزالة X-UA-Compatibleالعلامة من جميع الوثائق التي كنت أعمل عليها.

إذا كانت هذه المعلومات قديمة أو لم تعد ذات صلة ، يرجى تصحيحها.


والفرق هو أنه إذا قمت بتحديد DOCTYPE فقط ، DOCTYPE إعدادات عرض التوافق مع IE لها الأسبقية. بشكل افتراضي ، تفرض هذه الإعدادات كل مواقع الإنترانت في "طريقة عرض التوافق" بغض النظر عن DOCTYPE . هناك أيضًا مربع اختيار لاستخدام "طريقة عرض التوافق" لجميع مواقع الويب ، بغض النظر عن DOCTYPE .

يتجاوز X-UA-Compatible إعدادات طريقة عرض التوافق ، بحيث يتم عرض الصفحة في وضع المعايير بغض النظر عن إعدادات المتصفح. هذا يضع معايير وضع ل:

  • صفحات إنترانت
  • صفحات الويب الخارجية عند اختيار مسؤول الكمبيوتر "عرض جميع مواقع الويب في طريقة عرض التوافق" كإعداد افتراضي - فكّر في الشركات الكبيرة والحكومات والجامعات
  • عندما تنتهي بدون قصد إلى قائمة عرض التوافق لـ Microsoft
  • الحالات التي قام فيها المستخدمون بإضافة موقع الويب الخاص بك يدويًا إلى القائمة في "إعدادات عرض التوافق"

لا تستطيع DOCTYPE وحدها القيام بذلك ؛ سوف ينتهي بك الأمر في أحد أوضاع عرض التوافق في هذه الحالات بغض النظر عن DOCTYPE .

إذا تم تحديد كلٍّ من العلامة meta ورأس HTTP ، meta الأولوية لعلامة meta tag.

تعتمد هذه الإجابة على فحص القواعد الكاملة لتحديد وضع المستند في IE8 و IE9 و IE10 . لاحظ أن النظر إلى DOCTYPE هو آخر خطأ احتياطي لتحديد وضع المستند.


نظرًا لأنه لا يمكنني إضافة تعليق إلى الإجابة المحددة ، سأقوم بنشر هذا هنا فقط.

بالإضافة إلى الإجابة الصحيحة ، يمكنك بالفعل التحقق من صحة ذلك. نظرًا لأن علامة meta tag هذه موجهة إلى IE فقط ، فكل ما عليك فعله هو إضافة شرطي IE.

<!--[if IE]>
    <meta http-equiv="X-UA-Compatible" content="IE=Edge,chrome=1">
<![endif]-->

القيام بذلك هو فقط مثل إضافة أي بيان شرطي IE آخر ويعمل فقط من أجل IE ولن تتأثر أي متصفحات أخرى.


Use content= "IE=edge,chrome=1" Skip other X-UA-Compatible modes

<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
                                   -------------------------- 
  • لا يوجد رمز التوافق
    لا يظهر شريط عنوان IE9 الزر "عرض التوافق"
    ولا تظهر الصفحة أيضًا مزيجًا من القوائم غير الموضعية والصور ومربعات النص.

  • الميزات
    هذه العلامة الوصفية مطلوبة لتمكين javascript::JSON.parse() على IE8
    (حتى عندما يكون <!DOCTYPE html> موجودًا)

  • صحة
    تقديم / تنفيذ HTML / CSS / JavaScript الحديث أكثر صلاحية (أجمل).

  • أداء
    يجب أن يعمل محرك عرض Trident بشكل أسرع في وضع الحافة .

استعمال

في HTML الخاص بك

<!DOCTYPE html> 
<html> 
  <head>
    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
  • IE=edge يعني يجب على IE استخدام أحدث إصدار (edge) من محرك العرض الخاص به
  • chrome=1 يعني يجب على IE استخدام محرك عرض Chrome في حالة تثبيته

أو أفضل في تكوين خادم الويب الخاص بك:
(انظر أيضا إجابة ريايد )

  • Apache كما هو مقترح من قبل pixeline

    <IfModule mod_setenvif.c>
      <IfModule mod_headers.c>
        BrowserMatch MSIE ie
        Header set X-UA-Compatible "IE=Edge,chrome=1" env=ie
      </IfModule>
    </IfModule>
    <IfModule mod_headers.c>
      Header append Vary User-Agent
    </IfModule>
    
  • Nginx كما اقترحه Stef Pause

    server {
      #...
      add_header X-UA-Compatible "IE=Edge,chrome=1";
    }
    
  • وكيل Varnish كما اقترحه لوكاس ريوتزيل

    sub vcl_deliver {
      if( resp.http.Content-Type ~ "text/html" ) {
        set resp.http.X-UA-Compatible = "IE=edge,chrome=1";
      }
    }
    
  • IIS (منذ v7)

    <configuration>
      <system.webServer>
         <httpProtocol>
            <customHeaders>
               <add name="X-UA-Compatible" value="IE=edge,chrome=1" />
            </customHeaders>
         </httpProtocol>
      </system.webServer>
    </configuration>
    

توصي Microsoft بوضع الحافة منذ IE11

كما لاحظت من قبل Lynda (راجع التعليقات) ، فإن تغييرات التوافق في IE11 توصي بوضع الحافة :

بدءًا من IE11 ، يكون وضع الحافة هو وضع المستند المفضل ؛ يمثل أعلى دعم للمعايير الحديثة المتاحة للمتصفح.

لكن موقف مايكروسوفت لم يكن واضحا. صفحة MSDN أخرى لم تنصح بوضع الحافة :

نظرًا لأن وضع الحافة يفرض فتح جميع الصفحات في وضع المقاييس ، بغض النظر عن إصدار Internet Explorer ، قد يميل المستخدم إلى استخدام هذا لكافة الصفحات التي يتم عرضها مع Internet Explorer. لا تفعل ذلك ، لأن رأس X-UA-Compatible مدعوم فقط من خلال Windows Internet Explorer 8.

بدلاً من ذلك ، أوصت Microsoft باستخدام <!DOCTYPE html> :

إذا كنت ترغب في أن تقوم جميع الإصدارات المدعومة من Internet Explorer بفتح صفحاتك في وضع المعايير ، فاستخدم تصريح نوع مستند HTML5 [...]

كما يشرح Ricardo (في التعليقات أدناه) ، يمكن استخدام أي DOCTYPE (HTML4 ، XHTML1 ...) لتشغيل وضع Standards ، وليس فقط DOCTYPE الخاص بـ HTML5. الشيء المهم هو أن يكون لديك دائمًا DOCTYPE في الصفحة.

لقد لاحظت Clara Onager في إصدار قديم من أوضاع "تحديد مستندات قديمة" :

تم تصميم وضع الحافة لأغراض الاختبار فقط ؛ لا تستخدمها في بيئة الإنتاج.

من المربك أن يظن عثمان كلارا أنه يتحدث عن:

يتم توفير المثال [...] لأغراض توضيحية فقط ؛ لا تستخدمها في بيئة الإنتاج.

<meta http-equiv="X-UA-Compatible" content="IE=7,9,10" >

حسنا ... في بقية هذه الإجابة أقدم المزيد من الشرح لماذا استخدام content="IE=edge,chrome=1" هو ممارسة جيدة في الإنتاج.

التاريخ

لسنوات عديدة (2000 إلى 2008) ، كانت حصة السوق IE أكثر من 80 ٪ . واعتبرت IE الإصدار 6 معيارًا فعليًا (80٪ إلى 97٪ من حصة السوق في الأعوام 2003 و 2004 و 2005 و 2006 لـ IE6 فقط ، وحصة أكبر في السوق مع جميع إصدارات IE).

نظرًا لأن IE6 لم يكن يحترم معايير الويب ، كان على مطوري البرامج اختبار موقع الويب الخاص بهم باستخدام IE6. كان هذا الوضع رائعاً بالنسبة لشركة Microsoft (MS) حيث اضطر مطورو الويب إلى شراء منتجات MS (على سبيل المثال ، لا يمكن استخدام IE بدون شراء Windows) ، وكان أكثر جنيًا للربح للبقاء غير متوافقين (على سبيل المثال ، أرادت Microsoft أن تصبح المعيار غيره الشركات).

لذلك كانت العديد من المواقع المتوافقة مع IE6 فقط ، وبما أن IE لم تكن متوافقة مع معيار الويب ، لم يتم عرض جميع مواقع الويب هذه بشكل جيد على المتصفحات المتوافقة مع المعايير. والأسوأ من ذلك ، العديد من المواقع المطلوبة فقط IE .

ومع ذلك ، في هذا الوقت ، بدأت موزيلا تطوير فايرفوكس احترام أكبر قدر ممكن من جميع معايير الويب (تم تنفيذ متصفح آخر لتقديم الصفحات كما فعلت IE6). نظرًا لأن المزيد والمزيد من مطوري الويب أرادوا استخدام ميزات معايير الويب الجديدة ، كان متصفح Firefox يدعم أكثر وأكثر من IE أكثر.

عندما كانت مشاركة IE في السوق تتناقص ، أدركت MS أن بقاء معيار غير متوافق كان فكرة جيدة. لذلك بدأت MS لإصدار إصدار IE جديد (IE8 / IE9 / IE10) احترام المزيد والمزيد من معايير الويب.

المشكلة غير المتوافقة مع الويب

ولكن المشكلة هي كافة المواقع التي تم تصميمها لـ IE6: لا تستطيع Microsoft إصدار إصدارات IE جديدة غير متوافقة مع هذه المواقع القديمة المصممة لـ IE6. بدلاً من استنتاج إصدار IE تم تصميم موقع ويب ، طلبت MS من المطورين إضافة بيانات إضافية ( X-UA-Compatible ) في صفحاتهم.

لا يزال يستخدم IE6 في عام 2016

في الوقت الحاضر ، لا يزال يستخدم IE6 (0.7 ٪ في عام 2016) (4.5 ٪ في يناير 2014) ، وبعض مواقع الإنترنت لا تزال متوافقة مع IE6 فقط. يتم اختبار بعض مواقع / تطبيقات الإنترانت باستخدام IE6. بعض مواقع الإنترانت تعمل بنسبة 100٪ فقط على IE6. هذه الشركات / الإدارات تفضل تأجيل تكلفة الهجرة: الأولويات الأخرى ، لم يعد أحد يعرف كيف تم تنفيذ الموقع / التطبيق ، أفلس صاحب الموقع / التطبيق القديم ...

تمثل الصين 50٪ من استخدام IE6 في عام 2013 ، ولكنها قد تتغير في السنوات القادمة حيث يتم بث توزيعة لينكس الصينية .

كن على ثقة بمهارات الويب الخاصة بك

إذا كنت (حاول) احترام معيار الويب ، فيمكنك دائمًا استخدام http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" . للحفاظ على التوافق مع المتصفحات القديمة ، فقط تجنب استخدام أحدث ميزات الويب: استخدم المجموعة الفرعية التي يدعمها أقدم متصفح تريد دعمه. أو إذا كنت ترغب في الذهاب إلى أبعد من ذلك ، يمكنك اعتماد مفاهيم مثل التدهور اللطيف ، التحسين التدريجي وجافا سكريبت غير مزعجة . (قد يكون من دواعي سرورنا أيضًا أن تقرأ ما الذي يجب على مطور الويب التفكير فيه؟ )

لا يهمني أفضل تقديم نسخة IE: هذه ليست وظيفتك حيث يجب أن تكون المتصفحات متوافقة مع معايير الويب. إذا كان موقعك متوافقًا معياريًا واستخدم أحدث الميزات بشكل معتدل ، لذلك يجب أن تكون المتصفحات متوافقة مع موقعك على الويب .

وعلاوة على ذلك ، حيث أن هناك العديد من الحملات لقتل IE6 ( IE6 لا أكثر ، حملة MS ) ، في الوقت الحاضر يمكنك تجنب إضاعة الوقت مع اختبار IE!

تجربة IE6 الشخصية

في 2009-2012 ، عملت في شركة تستخدم IE6 كمتصفح واحد رسمي مسموح به . اضطررت إلى تنفيذ موقع إنترانت لـ IE6 فقط. قررت أن أحترم معيار الويب ولكن باستخدام مجموعة فرعية قادرة على IE6 (HTML / CSS / JS).

كان الأمر صعبًا ، ولكن عندما تحولت الشركة إلى IE8 ، كان موقع الويب لا يزال جيدًا نظرًا لأنني كنت قد استخدمت Firefox و firebug للتحقق من توافق الويب القياسي ؛)


إذا كنت تستخدم موقع الويب الخاص بك في نفس الشبكة مثل الخادم IE يحب التبديل إلى وضع compability بالرغم من DOCTYPE.
يؤدي إضافة meta http-equiv="X-UA-Compatible" content="IE=Edge" تعطيل هذا السلوك غير المرغوب فيه.


<meta http-equiv="X-UA-Compatible" content="IE=Edge">

لجعل هذا السطر يعمل كما هو متوقع ، تأكد من:

  1. هذا هو العنصر الأول بعد <head>
  2. لا يتم استخدام التعليقات الشرطية قبل العلامة الوصفية ، على سبيل المثال في عنصر <html>

خلاف ذلك بعض إصدارات IE تجاهلها ببساطة.

تحديث

يتم تبسيط هذين القواعد ولكن يسهل تذكرها والتحقق منها. على الرغم من مستندات MSDN التي تفيد بأنه يمكنك وضع العنوان والعلامات الوصفية الأخرى قبل هذا ، إلا أنني لا أنصح بذلك.

كيف نجعلها تعمل مع التعليقات المشروطة.

مقالة مثيرة للاهتمام حول ترتيب العناصر في الرأس. (blogs.msdn.com ، لـ IE)

مرجع

من وثائق MSDN :

يجب أن تظهر X-UA-Compatible [...] في رأس صفحة الويب (قسم HEAD) قبل جميع العناصر الأخرى باستثناء عنصر العنوان وعناصر meta الأخرى.


تحديث أكتوبر 2015

تم نشر هذه الإجابة منذ عدة سنوات ، والآن يجب أن يكون السؤال حقاً إذا كنت تفكر في استخدام علامة X-UA-Compatible على موقعك؟ مع التغييرات التي أجرتها Microsoft على المستعرضات الخاصة بها (المزيد على تلك الموجودة أدناه).

استنادًا إلى متصفحات Microsoft التي تدعمها ، قد لا تحتاج إلى الاستمرار في استخدام علامة X-UA-Compatible . إذا كنت بحاجة إلى دعم IE 9 أو IE 8 ، فإنني أوصيك باستخدام العلامة. إذا كنت لا تدعم سوى أحدث المتصفحات (IE 11 و / أو Edge) ، فسأفكر في إسقاط هذه العلامة تمامًا. إذا كنت تستخدم Twitter Bootstrap وتحتاج إلى إزالة تحذيرات التحقق ، فيجب أن تظهر هذه العلامة بترتيبها المحدد. معلومات إضافية أدناه:

تسمح العلامة الوصفية X-UA-Compatible لمؤلفي الويب باختيار إصدار Internet Explorer الذي يجب أن يتم عرض الصفحة به. قام IE11 بإجراء تغييرات على هذه الأوضاع؛ راجع ملاحظة IE11 أدناه. لن يفي Microsoft Edge ، المستعرض الذي سيتم إصداره بعد IE11 ، سوى العلامة الوصفية X-UA-Compatible في حالات معينة. راجع ملاحظة Microsoft Edge أدناه.

وفقًا لشركة Microsoft ، عند استخدام علامة X-UA-Compatible ، يجب أن يكون أعلى مستوى ممكن في head المستند:

إذا كنت تستخدم علامة META X-UA-Compatible التي تريد وضعها بالقرب من أعلى رأس الصفحة بقدر الإمكان. يبدأ Internet Explorer في تفسير الترميز باستخدام أحدث إصدار. عندما يواجه Internet Explorer علامة META X-UA المتوافقة ، يبدأ تشغيل محرك الإصدار المعين. هذا هو نتيجة الأداء لأن المتصفح يجب أن يتوقف ويعيد تحليل المحتوى.

فيما يلي خياراتك:

  • "IE = الحافة"
  • "IE = 11"
  • "IE = EmulateIE11"
  • "IE = 10"
  • "IE = EmulateIE10"
  • "IE = 9"
  • "IE = EmulateIE9
  • "IE = 8"
  • "IE = EmulateIE8"
  • "IE = 7"
  • "IE = EmulateIE7"
  • "IE = 5"

لمحاولة فهم ما يعنيه كل منها ، إليك تعريفات مقدمة من Microsoft:

يدعم Internet Explorer عددًا من أوضاع توافق المستندات التي تتيح ميزات مختلفة ويمكن أن تؤثر على طريقة عرض المحتوى:

  • يخبر وضع الحافة Internet Explorer بعرض المحتوى في أعلى وضع متاح. مع Internet Explorer 9 ، هذا يعادل وضع IE9. إذا كان إصدار مستقبلي لبرنامج Internet Explorer يدعم وضع توافق أعلى ، فستظهر الصفحات التي تم تعيينها إلى وضع الحافة في أعلى وضع يدعمه هذا الإصدار. ستظل تلك الصفحات نفسها تظهر في وضع IE9 عند عرضها مع Internet Explorer 9. يدعم Internet Explorer عددًا من أوضاع توافق المستندات التي تمكّن ميزات مختلفة ويمكن أن تؤثر على طريقة عرض المحتوى:

  • يوفر وضع IE11 أعلى دعم متاح لمعايير الصناعة الراسخة والناشئة ، بما في ذلك HTML5 و CSS3 وغيرها.

  • يوفر وضع IE10 أعلى دعم متاح لمعايير الصناعة الراسخة والناشئة ، بما في ذلك HTML5 و CSS3 وغيرها.

  • يوفر وضع IE9 أعلى دعم متاح لمعايير الصناعة الراسخة والناشئة ، بما في ذلك HTML5 (مسودة العمل) ، مواصفات W3C Cascadeing Style Sheets Level 3 (مسودة العمل) ، Scalable Vector Graphics (SVG) 1.0 Specification ، وغيرها. [ملاحظة المحرر: IE 9 لا يدعم الرسوم المتحركة CSS3].

  • يدعم وضع IE8 العديد من المعايير المحددة ، بما في ذلك مواصفات W3C Cascadeing Style Sheets Level 2.1 وواجهة W3C Selectors API ؛ كما يوفر دعمًا محدودًا لمواصفات W3C Cascadeing Style Sheets Level 3 (مسودة العمل) وغيرها من المعايير الناشئة.

  • يعرض وضع IE7 المحتوى كما لو تم عرضه في وضع المعايير بواسطة Internet Explorer 7 ، سواء كانت الصفحة تحتوي على توجيه أم لا.

  • يخبر وضع IE9 محاكاة Internet Explorer استخدام التوجيه لتحديد كيفية تقديم المحتوى. يتم عرض توجيهات وضع المعايير في وضع IE9 ويتم عرض توجيهات وضع المراوغات في وضع IE5. على عكس وضع IE9 ، يحاكي وضع Em9 محاكاة التوجيه.

  • يخبر وضع محاكاة IE8 Internet Explorer باستخدام التوجيه لتحديد كيفية تقديم المحتوى. يتم عرض توجيهات وضع المعايير في وضع IE8 ويتم عرض توجيهات أساليب المراوغات في وضع IE5. على عكس وضع IE8 ، يحاكي وضع Emule IE8 التوجيه.

  • يخبر وضع Emulate محاكاة IE7 Internet Explorer استخدام التوجيه لتحديد كيفية تقديم المحتوى. يتم عرض توجيهات وضع المعايير في وضع معايير Internet Explorer 7 ويتم عرض توجيهات وضع الانحرافات في وضع IE5. على عكس وضع IE7 ، يحاكي وضع Emulate IE7 التوجيه. بالنسبة للعديد من مواقع الويب ، هذا هو وضع التوافق المفضل.

  • يقوم وضع IE5 بعرض المحتوى كما لو تم عرضه في وضع quirks بواسطة Internet Explorer 7 ، وهو يشبه إلى حد بعيد الطريقة التي تم بها عرض المحتوى في Microsoft Internet Explorer 5.

IE 10 ملاحظة: اعتبارًا من Internet Explorer 10 ، سلوك وضع quirks بشكل مختلف عما كان عليه في الإصدارات السابقة من المستعرض. في Windows Internet Explorer 9 والإصدارات الأقدم ، قام وضع quirks بتقييد صفحة ويب بالميزات التي يدعمها Microsoft Internet Explorer 5.5. في Internet Explorer 10 ، يتطابق وضع quirks مع الاختلافات المحددة في مواصفات HTML5.

أنا شخصياً ، اختر دائماً http-equiv="X-UA-Compatible" content="IE=edge" meta tag ، حيث أن الإصدارات الأقدم لديها الكثير من الأخطاء ، ولا أريد أن يقرر IE الانتقال إلى "وضع التوافق" وتظهر موقعي ك IE7 مقابل IE8 أو 9. أنا دائما أفضل إصدار أحدث من IE.

IE 11

From مايكروسوفت:

بدءًا من IE11 ، يكون وضع الحافة هو وضع المستند المفضل ؛ يمثل أعلى دعم للمعايير الحديثة المتاحة للمتصفح.

استخدم تعريف نوع مستند HTML5 لتمكين وضع الحافة:

<!doctype html>

تم تقديم وضع الحافة في Internet Explorer 8 وكان متوفرًا في كل إصدار لاحق. لاحظ أن الميزات التي يدعمها وضع الحافة تقتصر على تلك التي يدعمها الإصدار المحدد من المتصفح الذي يعرض المحتوى.

بدءًا من IE11 ، تم إيقاف أوضاع المستندات ولم يعد من الممكن استخدامها ، إلا على أساس مؤقت. تأكد من تحديث المواقع التي تعتمد على الميزات القديمة وأنماط المستندات لتعكس المعايير الحديثة.

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

إذا كنت تستخدم حاليًا رأس x-ua-compatible لاستهداف وضع مستند قديم ، فمن المحتمل أن موقعك لن يعكس أفضل تجربة متوفرة مع IE11.

Microsoft Edge (الاستبدال لبرنامج Internet Explorer الذي يأتي مزودًا بنظام Windows 10)

معلومات حول العلامة الوصفية المتوافقة مع X-UA لإصدار "Edge" من IE. من مايكروسوفت :

تقديم نمط وثيقة Edge "الحية"

كما أعلنا في أغسطس 2013 ، فإننا نوقف أوضاع المستندات كما في IE11. بفضل أحدث تحديثات النظام الأساسي لدينا ، تقتصر الحاجة إلى وسائط المستندات القديمة بشكل أساسي على تطبيقات الويب القديمة للشركات. مع التغييرات المعمارية الجديدة ، سيتم عزل أوضاع المستندات القديمة هذه من التغييرات في وضع الحافة "الحية" ، مما سيساعد على ضمان مستوى أعلى من التوافق للعملاء الذين يعتمدون على هذه الأوضاع ويساعدوننا على التحرك بشكل أسرع حتى على التحسينات في Edge . سيستمر الإصدار الرئيسي التالي من IE في الحفاظ على صيغ المستندات التي يتم عرضها من خلال مواقع الإنترانت ، والمواقع في قائمة "طريقة عرض التوافق" ، وعند استخدامها مع "وضع المؤسسة" فقط.

سيتم تقديم مواقع الإنترنت العامة مع النظام الأساسي لوضع حافة جديدة (تجاهل X-UA-Compatible). هدفنا هو أن Edge هو وضع المستند "الحي" من هنا ولن يتم تقديم أية وسائط إضافية للمضي قدمًا.

مع التغييرات في Microsoft Edge لتعذر دعم أوضاع المستندات في معظم الحالات ، لدى Microsoft أداة لفحص موقعك للتحقق مما إذا كان يحتوي على تعليمات برمجية غير متوافقة مع Edge أم لا.

Chrome = 1 Info for IE

هناك أيضًا chrome=1 التي يمكنك استخدامها أو استخدامها مع أحد الخيارات أعلاه ، EX: <meta http-equiv="X-UA-Compatible" content="IE=Edge,chrome=1"> chrome=1 في إطار Chrome من Google والذي يتم تعريفه على أنه:

إطار Google Chrome عبارة عن مكون إضافي في متصفح مفتوح المصدر. يمكن للمستخدمين الذين لديهم المكوّن الإضافي المثبت الدخول إلى تقنيات الويب المفتوحة في Google Chrome ومحرك جافا سكريبت السريع عند فتح صفحات في المتصفح.

يعمل Google Chrome Frame على تحسين تجربة التصفح لديك في Internet Explorer. فهو يعرض المواقع التي تم تمكينها في إطار Google Chrome باستخدام تقنية عرض Google Chrome ، مما يتيح لك الوصول إلى أحدث ميزات HTML5 بالإضافة إلى ميزات الأداء والأمان في Google Chrome دون أي مقاطعة في استخدام المتصفح المعتاد.

عند تثبيت إطار Google Chrome ، تصبح الويب أفضل حالًا دون الحاجة إلى التفكير في الأمر.

ولكن حتى يعمل هذا المكون الإضافي ، يجب استخدام chrome=1 في العلامة الوصفية X-UA-compatible.

يمكن الاطلاع على مزيد من المعلومات حول Chrome Frame هنا .

ملاحظة: لا يعمل إطار Google Chrome إلا مع IE6 من خلال IE9 ، وتم إيقاف العمل به في 25 شباط 2014. يمكن العثور على مزيد من المعلومات هنا . شكرا لك @ mck للارتباط.

التحقق من الصحة:

HTML5 :

سيتم التحقق من صحة الصفحة باستخدام W3 Validator فقط عند استخدام <meta http-equiv="X-UA-Compatible" content="IE=Edge"> . بالنسبة إلى القيم الأخرى ، سيظهر الخطأ: A meta element with an http-equiv attribute whose value is X-UA-Compatible must have a content attribute with the value IE=edge. وبعبارة أخرى ، إذا كان لديك IE=edge,chrome=1 لن يتم التحقق من صحته. أتجاهل هذا الخطأ تمامًا لأن المتصفحات الحديثة تتجاهل ببساطة هذا السطر من الشفرة.

إذا كان يجب أن يكون لديك رمز صالح تمامًا ، ففكر في القيام بذلك على مستوى الخادم عن طريق تعيين عنوان HTTP. كملاحظة ، تقول Microsoft ، If both of these instructions are sent (meta and HTTP), the developer's preference (meta element) takes precedence over the web server setting (HTTP header). اطلع على answer olibre أو answer bitinn للحصول على مزيد من التفاصيل حول كيفية تعيين رأس HTTP.

XHTML

لا توجد مشكلة في التحقق من الصحة عند استخدام <meta http-equiv="X-UA-Compatible" content="IE=Edge" /> طالما أن العلامة مغلقة بشكل صحيح ، IE: /> مقابل >

التغريد Bootstrap

هذه العلامة قد أوصى بها فريق Bootstrap بقوة منذ عام 2014 على الأقل ، و Bootlint ، يستمر اللنت الذي وضعه فريق twbs (https://github.com/twbs/bootlint) في إصدار warning عند حذف العلامة. يميز اللانتر بين التحذيرات والأخطاء ، وعلى هذا النحو يمكن اعتبار شدة إهمال هذه العلامة طفيفة.

لمزيد من المعلومات حول X-UA-compatible راجع موقع Microsoft تحديد توافق المستندات .

لمزيد من المعلومات حول ما يدعم IE انظر موقع caniuse.com

لمزيد من المعلومات حول متطلبات Bootstrap على تويتر ، انظر صفحة wiki مشروع bootlint


جملة واحدة فقط تقول Instruct Internet Explorer لاستخدام محرك التقديم الأخير الخاص به

<meta http-equiv="x-ua-compatible" content="ie=edge">

أعتقد أن IE قد دعمت هذا دائمًا (على الأقل بدءًا من IE4) ويمكنك الوصول إليها من JS. كانت تسمى "خصائص التوسيع". انظر المادة MSDN القديمة

يمكن تعطيل هذا السلوك عن طريق تعيين الخاصية expando إلى false على عنصر DOM (يكون صحيحًا افتراضيًا ، بحيث تعمل خصائص expando بشكل افتراضي).

تحرير: إصلاح عنوان URL





internet-explorer browser x-ua-compatible