سؤال

لدي المقطع التالي في شبكة الإنترنت.config

<system.webServer>
    <!-- For now..... lets be safe and put IE8 in IE7 compatibility mode-->
    <httpProtocol>
      <customHeaders>
        <clear />
        <add name="X-UA-Compatible" value="IE=EmulateIE7" />
      </customHeaders>
    </httpProtocol>
</system.webServer>

ولكن

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

ليست موجودة في رأس الصفحات عندما يتم تقديمها على الموقع.أنا اتبعت نصيحة في هذا المنصب ASP.NET التطبيق مجموعة IE7-وضع التوافق? ولكن لا يبدو أن العمل كما هو متوقع باستخدام IE8 و IIS6.أي تلميحات ؟

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

المحلول

تبين المشكلة أن أنا باستخدام IIS6.IIS6 تبدو في <system.web> قسم من شبكة الإنترنت.التكوين بدلا من <system.webServer> القسم (الذي يستخدم من قبل IIS7 إلا إذا كان قيد التشغيل في وضع التوافق).لتقديم هذه العلامة الوصفية على كل صفحة من موقع الويب الخاص بك عند تشغيل IIS6 ، أعتقد أن الخيار الأفضل هو إضافته إلى MasterPage.انتهى بي الأمر بإضافة التعليمات البرمجية التالية كتلة OnPreRender حالة MasterPage:

Page.Header.Controls.AddAt(0, new HtmlMeta { HttpEquiv = "X-UA-Compatible", Content = "IE=EmulateIE7" });

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

آمل أن يساعد هذا شخص في نفس القارب!

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