ASP.NET يتجاهل IE7 التوافق وضع علامة في ويب.التكوين
-
05-07-2019 - |
سؤال
لدي المقطع التالي في شبكة الإنترنت.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 الفوقية الوسم على ما يبدو يجب أن يكون أول شيء في رأس الصفحة من أجل أن تكون محترمة.
آمل أن يساعد هذا شخص في نفس القارب!