मैं एक ग्राहक के लिए काम कर रहा हूं जो सभी इंट्रानेट साइटों पर संगतता मोड को मजबूर करता है। मैं सोच रहा था कि क्या कोई टैग है जो मैं अपने HTML में डाल सकता हूं जो संगतता मोड को बंद कर देता है।
मैं एक ग्राहक के लिए काम कर रहा हूं जो सभी इंट्रानेट साइटों पर संगतता मोड को मजबूर करता है। मैं सोच रहा था कि क्या कोई टैग है जो मैं अपने HTML में डाल सकता हूं जो संगतता मोड को बंद कर देता है।
जवाबों:
<html>
<head>
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<title>My Web Page</title>
</head>
<body>
<p>Content goes here.</p>
</body>
</html>
लिंक किए गए MSDN पृष्ठ से:
एज मोड विंडोज इंटरनेट एक्सप्लोरर को उपलब्ध उच्चतम मोड में सामग्री प्रदर्शित करने के लिए कहता है, जो वास्तव में "लॉक-इन" प्रतिमान को तोड़ता है। इंटरनेट एक्सप्लोरर 8 के साथ, यह IE8 मोड के बराबर है। यदि इंटरनेट एक्सप्लोरर के भविष्य के रिलीज (काल्पनिक) ने उच्च संगतता मोड का समर्थन किया, तो एज मोड पर सेट पृष्ठ उस संस्करण द्वारा समर्थित उच्चतम मोड में दिखाई देंगे; हालाँकि, इंटरनेट एक्सप्लोरर 8 के साथ देखे जाने पर वही पृष्ठ IE8 मोड में दिखाई देंगे।
हालांकि, उत्पादन के उपयोग में "बढ़त" मोड को प्रोत्साहित नहीं किया गया है:
यह अनुशंसा की जाती है कि वेब डेवलपर्स पेज एज और अन्य गैर-उत्पादन उपयोगों के लिए एज मोड के अपने उपयोग को प्रतिबंधित करें क्योंकि विंडोज इंटरनेट एक्सप्लोरर के भविष्य के संस्करणों में पृष्ठ सामग्री प्रदान करने के संभावित अप्रत्याशित परिणाम हैं।
मैं ईमानदारी से पूरी तरह से समझ में क्यों नहीं आता। लेकिन इस हिसाब से फिलहाल जाना सबसे बेहतर तरीका है IE=8
।
IE=10
अपनी साइटों पर उपयोग करता हुआ प्रतीत होता है। यदि आपने IE10 (पूर्वावलोकन संस्करण) में अपनी साइट का परीक्षण किया है, तो इसका उपयोग करना सुरक्षित है; अन्यथा, आप IE=9
अभी के लिए छड़ी कर सकते हैं।
Tools->Compatibility View Settings
, और संगतता दृश्य में सभी वेबसाइटों को प्रदर्शित करें। समस्या को ठीक करने के लिए, मुझे HTTP प्रतिसाद में शीर्ष लेख को वापस करना है:X-UA-Compatible: IE=edge
कई घंटों के बाद इस सामान की समस्या का निवारण ... यहाँ कुछ त्वरित हाइलाइट्स हैं जो X-UA-Compatible
डॉक्स से हमें मदद मिलीं: http://msdn.microsoft.com/en-us/library/cc288325(VS.85).aspx#ctl00_contentConttainer_ctl16
का उपयोग करते हुए <meta http-equiv="X-UA-Compatible" content=" _______ " />
स्टैंडर्ड उपयोगकर्ता एजेंट मोड (गैर अनुकरण वाले) की उपेक्षा <!DOCTYPE>
अपने पृष्ठ में निर्देशों और IE के उस संस्करण के द्वारा समर्थित मानकों के आधार पर रेंडर (जैसे, IE=8
होगा बेहतर पालन तालिका सीमा रिक्ति और की तुलना में कुछ छद्म चयनकर्ताओं IE=7
)।
जबकि, एमुलेट मोड्स IE को <!DOCTYPE>
आपके पेज में किसी भी निर्देश का पालन करने के लिए कहता है , आपके द्वारा चुने गए संस्करण के आधार पर रेंडरिंग मोड और रेंडर मोड को ऑन करता हैIE=5
content
विशेषता के लिए संभावित मान हैं:
content="IE=5"
content="IE=7"
content="IE=EmulateIE7"
content="IE=8"
content="IE=EmulateIE8"
content="IE=9"
content="IE=EmulateIE9"
content="IE=edge"
यदि आप इंट्रानेट ज़ोन में एक पृष्ठ के साथ काम कर रहे हैं, तो आप पा सकते हैं कि IE9 कोई फर्क नहीं पड़ता कि आप क्या करते हैं, IE7 संगत मोड में जा रहा है।
यह IE संगतता सेटिंग्स के भीतर सेटिंग के कारण है जो कहती है कि सभी इंट्रानेट साइटों को संगतता मोड में चलना चाहिए। आप इसे समूह नीति के माध्यम से अनचेक कर सकते हैं (या सिर्फ IE में इसे अनचेक कर सकते हैं), या आप निम्नलिखित सेट कर सकते हैं:
<meta http-equiv="X-UA-Compatible" content="IE=Edge" />
यह काम करता है (जैसा कि अन्य उत्तरों में विस्तृत है), लेकिन शुरू में ऐसा नहीं हो सकता है: स्टाइलशीट घोषित होने से पहले इसे आने की आवश्यकता है । यदि आप नहीं करते हैं, तो इसे अनदेखा कर दिया जाता है।
मुझे विश्वास है कि यह चाल चलेगा:
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
जैसा कि संबंधित प्रश्न के इस उत्तर में सुझाया गया है , "किनारा" मोड को Web.Config फ़ाइल में सेट किया जा सकता है। यह इसे सभी HTML पर लागू होगा जो कि इसे अलग-अलग पृष्ठों में सम्मिलित करने की आवश्यकता के बिना आवेदन से लौटा दिया गया है:
<configuration>
<system.webServer>
<httpProtocol>
<customHeaders>
<add name="X-UA-Compatible" value="IE=edge" />
</customHeaders>
</httpProtocol>
</system.webServer>
</configuration>
IIS सर्वर, संपूर्ण वेबसाइट या विशिष्ट अनुप्रयोगों के लिए IIS प्रबंधक का उपयोग करके "HTTP रिस्पांस हेडर्स" को संशोधित करके भी इसी चरण को पूरा किया जा सकता है ।
मेटा टैग सॉल्यूशन हमारे लिए काम नहीं कर रहा था, लेकिन रिस्पॉन्स हेडर में इसे सेट किया:
header('X-UA-Compatible: IE=edge,chrome=1');
chrome=1
संपत्ति, stackoverflow.com/a/22059516/368691 । यह ध्यान में रखते हुए कि क्रोम फ्रेम को सेवानिवृत्त कर दिया गया है। blog.chromium.org/2013/06/retiring-chrome-frame.html
मेरे हालिया अनुभवों के आधार पर इस विषय पर कुछ और नोट्स। विश्वविद्यालय I IE 8 के साथ लैपटॉप के लिए काम करता है। सभी इंट्रानेट साइटों के लिए संगतता मोड में सेट करें। मैंने अपनी साइट द्वारा पृष्ठों की सेवा के लिए इस मोड को अक्षम करने के लिए मेटा टैग को जोड़ने की कोशिश की, लेकिन IE ने लगातार इस टैग को अनदेखा किया। जैसा कि लांस ने अपने पोस्ट में उल्लेख किया है, एक प्रतिक्रिया हेडर जोड़कर इस मुद्दे को ठीक किया। यह है कि मैंने HTML5 बॉयलरप्लेट पद्धति के आधार पर शीर्ष लेख को कैसे सेट किया:
<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 "\.(appcache|crx|css|eot|gif|htc|ico|jpe?g|js|m4a|m4v|manifest|mp4|oex|oga|ogg|ogv|otf|pdf|png|safariextz|svg|svgz|ttf|vcf|webm|webp|woff|xml|xpi)$">
Header unset X-UA-Compatible
</FilesMatch>
</IfModule>
इस हेडर को वास्तव में भेजे जाने के लिए, आपको यह सुनिश्चित करना होगा कि आपके पास Apache में mod_headers चालू हैं। यदि आप यह सुनिश्चित करना चाहते हैं कि आपके पास यह मोड चालू है, तो इसे एक पृष्ठ पर रखें जो php चला सकता है:
<pre>
<?php
print_r(apache_get_modules());
?>
</pre>
IE8 इंटर्नेट के लिए मानक मोड के लिए चूक और इंट्रानेट के लिए क्विरक्स मोड। HTML मेटा टैग को नजरअंदाज कर दिया जाता है, अगर आपके पास xhtml ट्रांस्फ़ॉर्म पर सेट किए गए सिद्धांत हैं। समाधान कोड में एक HTTP हेडर जोड़ना है। यह हमारे लिए काम किया। अब हमारी इंट्रानेट साइट मानकों में ऐप को रेंडर करने के लिए IE8 के लिए मजबूर कर रही है।
आधार पृष्ठ वर्ग (ASP.net C #) के PageInit में जोड़ा गया:
Response.AddHeader("X-UA-Compatible", "IE=EmulateIE8");
संदर्भ: http://ilia.ws/archives/196-IE8-X-UA-Compatible-Rant.html
यह IE संगतता सेटिंग्स के भीतर सेटिंग के कारण है जो कहती है कि सभी इंट्रानेट साइटों को संगतता मोड में चलना चाहिए। आप इसे समूह नीति के माध्यम से अनचेक कर सकते हैं (या सिर्फ IE में इसे अनचेक कर सकते हैं), या आप निम्नलिखित सेट कर सकते हैं:
<meta http-equiv="X-UA-Compatible" content="IE=Edge" />
जाहिरा तौर पर एक समूह नीति के रूप में संगतता दृश्य सेटिंग्स को बदलना संभव नहीं है, लेकिन यह कुछ ऐसा है जिसे शायद रजिस्ट्री में बदला जा सकता है, यह मेटा टैग मेरे लिए ठीक काम करता है, मुझे HTML फॉर्म के हिस्से के रूप में आवश्यक विशेषता काम करना था , यह क्रोम और फ़ायरफ़ॉक्स में काम करता था लेकिन IE नहीं।
यहाँ एक अच्छा दृश्य है कि ब्राउज़र प्रत्येक व्यक्ति HTML 5 तत्व का क्या समर्थन करता है।
एक सामान्य भाजक Google Chrome पर ध्यान दें, यह सब कुछ का समर्थन करता है। उम्मीद है इससे मदद मिलेगी
टैग के तहत बहुत पहले आइटम के रूप में डालें।
यह IE को IE के भौतिक संस्करण में पृष्ठ को प्रस्तुत करने के लिए मजबूर करता है, और यह ब्राउज़र "मोड सेटिंग" को अनदेखा करता है। इसे डेवलपर टूल में सेट किया जा सकता है, इसे परीक्षण करने के लिए IE के पुराने संस्करण में बदलने की कोशिश करें, इसे नजरअंदाज किया जाना चाहिए और पृष्ठ को बिल्कुल एक जैसा दिखना चाहिए।
यदि आपके पास सर्वर तक पहुंच है, तो ऐसा करने का सबसे विश्वसनीय तरीका यह है कि इसे सर्वर पर ही, IIS में किया जाए। IIS HTTP रिस्पांस हेडर्स में जाएं। नाम जोड़ें: X-UA- संगत
मूल्य: IE = एज यह आपके ब्राउज़र और आपके कोड को ओवरराइड करेगा।
यदि आप प्रत्येक व्यक्तिगत वेब पेज को चुने हुए सामग्री को लोड करना चाहते हैं और asp.net का उपयोग कर रहे हैं। बस दृश्य> साझाकरण> Layout.cshtml में शीर्षक टैग के तहत इसे पहले टैग के रूप में लागू करें
बस एक टिप