internet explorer - आईई 9 को संगतता मोड में इंट्रानेट साइटों को प्रस्तुत करने से कैसे रोकें




internet-explorer internet-explorer-9 (3)

आईई 9 में एक अजीब समस्या है जहां यह इंट्रानेट साइटों को संगतता मोड में प्रस्तुत करता है।

क्या किसी को यह पता चल रहा है कि इसे कैसे रोकें?

नोट: मैं इसे एक ही उपयोगकर्ता मशीन पर रोकने के लिए कोई रास्ता नहीं ढूंढ रहा हूं, लेकिन कुछ प्रोग्रामेटिक तरीका साइट को संगतता मोड में कभी भी प्रस्तुत करने से रोकने के लिए।


@ NovicePrgrmr के उत्तर के बाद, आईई 7-मोड में आईई 9 लोडिंग इंट्रानेट के लिए एक कामकाज प्रतीत होता है। हालांकि यह अभी भी संगतता मोड को ट्रिगर करता है, मुझे पॉल आयरिश के HTML5 बॉयलरप्लेट मार्कअप में थोड़ा सा संशोधन मिला है, कम से कम IE9 को IE9 मानकों में इंट्रानेट प्रस्तुत करने की अनुमति देता है:

<!doctype html>
<html class="no-js" lang="en">
<head>
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<meta charset="utf-8">
</head>
<!--[if lt IE 7]>   <body class="home lt-ie9 lt-ie8 lt-ie7"> <![endif]-->
<!--[if IE 7]>      <body class="home lt-ie9 lt-ie8"> <![endif]-->
<!--[if IE 8]>      <body class="home lt-ie9"> <![endif]-->
<!--[if IE 9]>      <body class="home lt-ie10"><![endif]-->
<!--[if gt IE 9]><!--> <body class="home"> <!--<![endif]-->

    <p>content</p>

</body>
</html>

यह अभी भी वैध एचटीएमएल है, और मौजूदा आईई-विशिष्ट सीएसएस अभी भी ठीक काम करना चाहिए, बशर्ते आप html.lt-ie


एक विस्तृत खोज के बाद, मुझे पता चला कि इस ब्लॉग पर आईई 9 में संगतता मोड में प्रतिपादन से इंट्रानेट साइट को सफलतापूर्वक कैसे रोकें:

टेस्मंड के ब्लॉग से

आईई 9 में 2 क्विर्क हैं जो संगतता मोड को प्रभावी बना सकते हैं। एक्स-यूए-संगत मेटा तत्व मुख्य खंड में पहला मेटा तत्व होना चाहिए। एक्स-यूए-संगत मेटा तत्व से पहले आप कंडेनशनल आईई स्टेटमेंट नहीं कर सकते हैं। इसका अर्थ यह है कि यदि आप पॉल आयरिश के अद्भुत HTML5 बॉयलरप्लेट का उपयोग करते हैं तो डिफ़ॉल्ट आईई 9 सेटिंग्स के साथ इंट्रानेट पर आपकी वेबसाइट संगतता मोड में प्रदर्शित होगी। आपको बॉयलरप्लेट की शुरुआत निम्न से बदलनी होगी: -

<!doctype html>
<!--[if lt IE 7]> <html class="no-js ie6 oldie" lang="en"> <![endif]-->
<!--[if IE 7]> <html class="no-js ie7 oldie" lang="en"> <![endif]-->
<!--[if IE 8]> <html class="no-js ie8 oldie" lang="en"> <![endif]-->
<!--[if gt IE 8]><!--> <html class="no-js" lang="en"> <!--<![endif]-->
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">

सेवा मेरे:

<!doctype html>
<html class="no-js" lang="en">
<head>
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<meta charset="utf-8">

यह एक साधारण मेटा टैग जोड़कर किया जा सकता है

<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">

इसे पूरा करने का एक और तरीका यह है कि इस कोड को अपनी .htaccess फ़ाइल में जोड़ना है!

# ----------------------------------------------------------------------
# Better website experience for IE users
# ----------------------------------------------------------------------

# Force the latest IE version, in various cases when it may fall back to IE7 mode
#  github.com/rails/rails/commit/123eb25#commitcomment-118920
# Use ChromeFrame if it's installed for a better experience for the poor IE folk

<IfModule mod_headers.c>
  Header set X-UA-Compatible "IE=Edge,chrome=1"
  # mod_headers can't match by content-type, but we don't want to send this header on *everything*...
  <FilesMatch "\.(js|css|gif|png|jpe?g|pdf|xml|oga|ogg|m4a|ogv|mp4|m4v|webm|svg|svgz|eot|ttf|otf|woff|ico|webp|appcache|manifest|htc|crx|oex|xpi|safariextz|vcf)$" >
    Header unset X-UA-Compatible
  </FilesMatch>
</IfModule>




ie-compatibility-mode