سؤال

يوجد "Internet Explorer 8" و "Internet Explorer 8 Compatibility Mode" و IE7 في IE8.

ومع ذلك ، فإن الإعداد الافتراضي في IE يجعل جميع موقع intranet يستخدم "وضع توافق IE8" حتى قمت بتعيين Doctype ، علامة meta ، رأس HTTP كما هو مقترح لإجباره على وضع IE8.

أملك

u003C!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/tr/html4/loose.dtd">

و

u003Cmeta http-equiv="X-UA-Compatible" content="IE=8" >

لكنه لا يزال يذهب إلى "وضع التوافق IE8" ، دون أي تغييرات في إعداد IE.

كيف تجبره على وضع "IE8" النقي ، دون تغيير إعداد أي متصفح؟

ملاحظة. أنا لا أتحدث "وضع المستند" هنا.

هل كانت مفيدة؟

المحلول

يبدو أن MSFT لم يفكر في بيئة إنترانت كبيرة لدينا العديد من تطبيقات الويب المختلفة التي تعمل بالداخل.

لا توجد طريقة لتجاوز إعداد IE8 ، وفقًا لمكان قرأته في منتدى MSDN.

لذلك ، سيتعين عليّ أن أتوسل إلى مسؤولي النظام لوضع بعض سياسات المجموعة الجديدة لتغيير إعداد "عرض التوافق" والقيمة ومنع المستخدم من تغيير القيمة ، حتى يكتشف MSFT هذا الخطأ وإصلاحه.

من مدونة MSDN (التأكيد عليهم): "يتم اختيار وضع المتصفح قبل أن يطلب محتوى الويب محتوى الويب. هذا يعني ذاك لا يمكن للمواقع اختيار وضع المتصفح."

نصائح أخرى

من الممكن تجاوز وضع التوافق في إنترانت. فقط أضف الرمز أدناه إلى web.config. عملت بالنسبة لي مع IE9.

<system.webServer>
<httpProtocol>
  <customHeaders>
    <clear />
    <add name="X-UA-Compatible" value="IE=edge" />
  </customHeaders>
</httpProtocol>

سيكون عليك إجراء بعض التعديلات على IE.

ها هم.....

في خيارات الإنترنت / إنترانت / المواقع المحلية

تحت: إنترانت المحلية داخل المواقع ، قم بإلغاء تحديد "اكتشاف شبكة إنترانت تلقائيًا".

ثم حدد فقط "قم بتضمين جميع مسارات الشبكة (UNCS)

انظر لقطات الشاشة المرفقة

Screenshot

لقد وجدت الإجابات هنا من الصعب متابعتها ، لذا فإليك المعلومات المهمة باختصار:

إذا كان Intranet الخاص بك يستخدم الإعدادات الافتراضية لـ IE ، فسيتم تطبيق وضع معايير IE7 لمواقع إنترانت بغض النظر عن أي إعدادات موقع ويب.

من هذه:

عرض التوافق والمؤسسة

هناك عدد كبير من مواقع الويب الخاصة بخط العمل هي Internet Explorer 7 قادرة اليوم. من أجل الحفاظ على التوافق ، يشحن Internet Explorer 8 مع الافتراضات الذكية بناءً على تقييم المنطقة. في الحالة الافتراضية ، تعرض جميع المواقع على الإنترنت العام في وضع معايير Internet Explorer 8 (عرض التوافق) و تعرض جميع مواقع الويب Intranet في وضع معايير Internet Explorer 7 (عرض التوافق على).

دعونا نلقي نظرة على بعض الأمثلة. إذا انتقلت إلى مواقع على إنترانت المحلية مثل http: // myportal و http: // SharePoint/Sites/mysite, يعرّف Internet Explorer 8 نفسه بسلسلة وكيل مستخدم من "7" ، متجه الإصدار من "7", ، ويعرض صفحات الويب التي تؤدي إلى وضع المعايير في وضع معايير Internet Explorer 7. يتيح هذا المزيج صفحات الويب التي عملت بشكل صحيح في Internet Explorer 7 لمواصلة القيام بذلك في IE8.

لتجاوز إعدادات عرض التوافق للإنترانت أو جميع مواقع الويب التي تحتاجها لجعل IE8 محاكاة نفسها.

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

قم بتعيين رأس HTTP مخصص بدلاً من استخدام <meta... في ال <head> الجزء. من المفترض أن تكون هذه مكافئة ، لكنني رأيت أن X-UA-Compatible سوف يتجاوز رأس HTTP من الخادم إعداد "عرض مواقع Indranet" في عرض التوافق "، حيث <meta... العنصر لا.

إذا كنت تستخدم .NET ، لدي إجابة لك:

لغة البرمجة:

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

web.config:

<system.webServer>
    <httpProtocol>
      <customHeaders>
        <clear />
        <add name="X-UA-Compatible" value="IE=8" />
      </customHeaders>
    </httpProtocol>

اقرأ في مكان ما يجب أن يكون إعلان Doctype هو السطر الأول جدا. لا توجد تعليقات من أي نوع ، ولا خطوط فارغة.

بالاشتراك مع تعيين رؤوس استجابة HTTP ، هذا عمل بالنسبة لي. Browser Mode انتقلت من "وضع التوافق IE9" إلى "وضع IE9" فقط.

hkey_current_user software microsoft Internet Explorer Browseremulation intranetcompatibilitymode 1-> 0

من أجل عمل إعلان التعريف ، يجب أن يكون Doctype هو النسخة المبسطة:

<!DOCTYPE html>

ليس البيان الأطول في سؤال دينيس.

هذا التحرير والسرد فعل الخدعة بالنسبة لي:

<!DOCTYPE HTML>
<HEAD>
<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE8" >
</HEAD>

على الأقل تقارير أدوات المطورين IE IE9 ، معايير IE8

فقط للركلات ، حاولت محاكاة 7 والتي عملت كذلك. كان تبسيط الممتد! doctype المفتاح.

تحتاج إلى إزالة رقم المنفذ من موقع اسم موقع المجال الخاص بك:1180/فهرس/

إذا شاهد المتصفح رقم المنفذ في عنوان URL - مرحبًا "فكر" ، فهذا هو إنترانت.

قم بإعداد خادم DNS الخاص بعناوين URL الودية - site.com/index ويعمل بشكل جيد

الإجابة التي تحمل علامة "صحيحة" صحيحة تقنيًا ولكنها تشير إلى أنه لا يوجد حل للمشكلة الحقيقية التي يواجهها معظم الأشخاص: "كيف أعرض بشكل صحيح على IE8 ، مع تمكين وضع التوافق ، وهو تطبيق ويب لا يدعم وضع التوافق؟".

<!DOCTYPE HTML>
<HEAD>
    <meta http-equiv="X-UA-Compatible" content="Edge" >
</HEAD>

هذا عمل بالنسبة لي في العديد من محطات العمل.

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

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top