IE7 IE7 मोड में रेंडर करता है। कैसे करें स्टैंडर्ड मोड?


121

माइक्रोसॉफ्ट की साइट पर वे दावा करते हैं कि सरल सिद्धांत घोषणा पर्याप्त है। लेकिन यह भी एक दस्तावेज के रूप में कम के रूप में इस IE7 मोड में वापस गिर जाता है:

<!DOCTYPE html>
<html>
<head>
   <title></title>
</head>
<body>

</body>
</html>

http://d.pr/i/fvzb+

जवाबों:


244

इंटरनेट एक्सप्लोरर यह धारणा बनाता है कि अधिकांश वेबपेजों को IE के पुराने संस्करणों को लक्षित करने के लिए लिखा गया था और सर्वोत्तम संगतता मोड (कभी-कभी गलत तरीके से) को निर्धारित करने के लिए सिद्धांत, मेटा टैग और HTML को देखता है। यहां तक ​​कि अगर यह इंट्रानेट साइट है, तब भी HTML5 सिद्धांत के साथ IE आपकी वेबसाइट को संगतता मोड में रखेगा।

यह सुनिश्चित करने के लिए कि आपकी वेबसाइट हमेशा नवीनतम मानक मोड का उपयोग करती है जिसे आप सुनिश्चित कर सकते हैं कि Display intranet sites in Compatiblyइसे बंद कर दिया गया है। हालाँकि आपको इसे प्रत्येक मशीन पर वेब सर्वर पर करना होगा (निर्देश नीचे हैं)।

वैकल्पिक रूप से, और बेहतर अभी तक, आप X-UA-Compatibleसर्वर से इसे बंद करने के लिए हेडर का उपयोग कर सकते हैं । यह ध्यान रखना महत्वपूर्ण है कि मेटा टैग का उपयोग करने से काम नहीं चलेगा!

<!-- Doesn't always work! -->
<meta http-equiv="X-UA-Compatible" content="IE=edge" />

MSDN के दौरान यह उल्लेख किया गया है कि होस्ट हेडर या मेटा टैग का उपयोग करना इंट्रानेट साइटों को भी ओवरराइड करना चाहिए। लेख इंटरनेट एक्सप्लोरर 8 में संगतता मोड को समझना निम्नलिखित कहता है।

इंटरनेट एक्सप्लोरर 7 के लिए बड़ी संख्या में आंतरिक व्यापार वेब साइटें अनुकूलित हैं, इसलिए यह डिफ़ॉल्ट अपवाद उस संगतता को संरक्षित करता है। ... फिर से यदि मेटा टैग या http हेडर का उपयोग डॉक्यूमेंट में कम्पेटिबिलिटी मोड सेट करने के लिए किया जाता है तो यह इन सेटिंग्स को ओवरराइड कर देगा।

हालांकि, व्यवहार में यह काम नहीं करेगा, मेजबान हेडर का उपयोग करना एकमात्र विकल्प है जो काम करता है। लेख का टिप्पणी अनुभाग भी इस सटीक मुद्दे के कई उदाहरण दिखाता है।

मेटा टैग का उपयोग करने में कई अन्य मुद्दे भी होते हैं जैसे टैग को अनदेखा करना अगर यह सीधे <head>टैग के तहत नहीं है या यदि इससे पहले बहुत अधिक डेटा है (4k)। यह IE के कुछ संस्करणों में पुन: पेश किए जाने वाले दस्तावेज़ को भी ट्रिगर कर सकता है जो रेंडरिंग को धीमा कर देगा। आप इन मुद्दों के बारे में MSDN लेख बेस्ट प्रैक्टिस पर अधिक पढ़ सकते हैं : अपना HEAD क्रम में प्राप्त करें

एक्स-यूए-संगत हेडर जोड़ना

यदि आप .NET और IIS का उपयोग कर रहे हैं web.config, तो आप इसे जोड़ सकते हैं , आप यह प्रोग्रामेटिक रूप से भी कर सकते हैं:

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

यदि आप IIS का उपयोग नहीं कर रहे हैं तो यह किसी भी भाषा में करना आसान है। उदाहरण के लिए, इसे PHP में कैसे करें:

header('X-UA-Compatible: IE=edge');

जब तक X-UA-Compatibleहैडर HTML5 सिद्धांत के साथ मौजूद होता है, तब तक एक साइट हमेशा नवीनतम मानक मोड में चलेगी।

संगतता दृश्य बंद करना
अभी भी संगतता दृश्य बंद करना उपयोगी हो सकता है। Display all intranet sites in compatibility viewसंगतता दृश्य सेटिंग में ऐसा करने के लिए ।

अनुकूलता के लिए सेटिंग्स देखें

आप Altमेनू लाने के लिए मार कर इसे ला सकते हैं ।

यहाँ छवि विवरण दर्ज करें

यह उत्तर संपादित करें IE9 से संबंधित है।


मेरी अज्ञानता को क्षमा करें, लेकिन इस सेटिंग शीट पर कैसे जाएं? मैंने इंटरनेट एक्सप्लोरर सेटिंग्स की जाँच की, पता बार में संगतता दृश्य पर राइट-क्लिक किया - कुछ भी नहीं।
फेरेदेव

2
@ altटूलबार को लाने के लिए पहले से उपयोग करें, यह टूल के तहत है -> कम्‍पट व्यू सेटिंग
डैनियल लिटिल

ओह शुक्रिया, लगता है कि इसे हल कर दिया। एक आश्चर्य करता है कि उन्होंने ऐसा क्यों किया।
firedev

25
+1000;)। एसओ को प्रत्येक ओपी को इस उत्तर को देखने के लिए मजबूर करना चाहिए, जब वे अपने प्रश्न में कोई [IE] टैग और "संगत" शब्द रखते हैं, इससे पहले कि वे वास्तव में उस प्रश्न को पोस्ट करते हैं।
तैमू

2
मैंने प्रोजेक्ट के web.config में कस्टम हेडर सेक्शन को जोड़ने की कोशिश की। ऐसा प्रतीत होता है कि इंट्रानेट साइटों के लिए संगतता दृश्य का उपयोग करने के लिए सेटिंग आईई सेटिंग को ओवरराइड नहीं करती है।
DomenicDatti

25

यह मेरे लिए काम करता है ।।

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

11
NB के रूप में Lavinski ऊपर कहते हैं, "मेटा टैग इंट्रानेट साइटों के लिए कुछ भी नहीं करता है।"
नाथन

2
एक होस्ट की गई वेबसाइट (गैर-इंट्रानेट साइट) के लिए जो इसके लायक है, उसके पास X-UA-Compatibleमेटा टैग है, फिर भी पेज डिफ़ॉल्ट के रूप में IE10 मानक दस्तावेज़ मोड को ट्रिगर नहीं कर रहा है, मैंने पाया कि यदि मेटा टैग स्क्रिप्ट टैग के नीचे स्थित है या बस है <head>DOM ट्री के शीर्ष से बहुत दूर , IE10 रोता है और IE8 मानकों के लिए दस्तावेज़ मोड सेट करता है। तो, अपने IE=edgeमेटा टैग को टैग बंद रखें <title>। हेडर टेम्प्लेट फ़ाइल में हार्ड-कोडित नहीं होने पर हमेशा Wordpress साइटों के लिए एक साधारण निर्धारण नहीं है। यकीन नहीं होता कि IE11 परवाह करता है कि मेटा टैग कहां है, लेकिन आशा है कि यह किसी के लिए मददगार साबित होगा।
प्योरफ्यूजन

1
ब्लाइंड कॉपी और पास्टर जैसे कि खुद के लिए, यह क्लोजिंग टैग गायब है। । <मेटा http-equiv = "X-UA- संगत" सामग्री = "IE = एज"> </ मेटा>
जॉन न्यूमैन

यदि आप XHTML
सिद्धांत

2
इसके अलावा इस टैग को <head>
क्रिस गनवार्डन

10

निम्नलिखित टैग को सिर पर जोड़ने का प्रयास करें

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

5
IE=Edgeइसके बजाय होना चाहिए
डैनियल लिटिल

1
लेकिन एक जोखिम है कि IE के भविष्य के संस्करण कुछ बुरा करते हैं और आपकी साइट को
तोड़ते हैं

7
नहीं, यह जोखिम नहीं है यदि आप कल्पना का पालन करते हैं, तो आप लोगों को क्रोम के लिए ऐसा करते नहीं देख सकते हैं।
डैनियल लिटिल

1
इस टैग को <head>
क्रिस गनवार्डन

1
इस उत्तर पर संपादित यह दर्शाता है कि यह एक अच्छा विचार क्यों नहीं है। स्वीकृत उत्तर सबसे अच्छा समाधान है।
डेविड ग्रैनाडो

2

मेटा टैग इंट्रानेट साइटों के लिए कुछ भी नहीं करता है और मेरे मुद्दे IE10 संगतता मोड में IE10 प्रतिपादन था। मेरे लिए इस समस्या से निपटने के लिए @ Jeow के उत्तर को आगे ले जा रहा था और web.configIIS के तहत निम्न जोड़कर http हेडर में उस मान का उपयोग कर रहा था :

<system.webServer>
  <httpProtocol> 
    <customHeaders> 
      <clear />
      <!-- <add name="X-UA-Compatible" value="IE=edge" /> not good enough -->
      <add name="X-UA-Compatible" value="IE=11,IE=10,IE=9,IE=8" /> 
    </customHeaders> 
  </httpProtocol>
</system.webServer>

IE प्रयोजनों के लिए, इंट्रानेट साइटों में सार्वजनिक-सामना करने वाली साइटें शामिल होती हैं जो बाहरी रूप से रूट नहीं की जाती हैं - उदाहरण के लिए कार्यालय से काम करने वाला स्टैकवर्फ़्लो कर्मचारी शायद संगतता मोड में stackoverflow.com को देखेगा।


1

यह पूरी तरह से मेरे लिए काम करता है जब मैंने फोलोइंग की:

पर http://msdn.microsoft.com/en-us/library/gg699338(v=vs.85).aspx

पहले बॉक्स में प्रदान किए गए सटीक उदाहरण का उपयोग किया (लापता को जोड़ा) </html> नीचे ), इसे IE10 में खोला और मानकों को मजबूर किया गया था, मुझे लगता है कि आपको मानकों को मजबूर करने के लिए HTML में वास्तविक सामग्री की आवश्यकता हो सकती है, हालांकि यह सुनिश्चित नहीं है।

मेरा सुझाव होगा कि आप अपने खाली कोड को वास्तविक सामग्री (कुछ सरल) से बदलें और देखें कि यह क्या करता है।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.