2014-10-13 10 views
64

मैं कई ऑनलाइन पाठ्यक्रम हाल ही में लिया है और मैं अभी भी कुछ प्रशिक्षकों डिफ़ॉल्ट रूप से उनके दस्तावेजों के शीर्ष पर निम्नलिखित मेटा टैग को जोड़ने देखें:एक्स-यूए-संगत आईई = एज का उपयोग क्यों करें?

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

सोच होने के लिए है कि इस बस के रूप में महत्वपूर्ण और उपयोगी है प्रकट होता है <meta charset="UTF-8"> के रूप में।

लेकिन क्यों?

Microsoft's Modern.ie documentation के अनुसार यह "सर्वोत्तम अभ्यास" है जो "इंटरनेट एक्सप्लोरर नवीनतम इंजन का उपयोग सुनिश्चित करता है"। ठीक है पर्याप्त ठीक है।

हालांकि, यदि आप the flow diagram on MSDN का पालन करते हैं तो यह स्पष्ट रूप से दिखाता है कि 'एक्स-यूए-संगत जानकारी के बिना दस्तावेज़ को उपयोगकर्ता की "संगतता दृश्य" वरीयताओं और if that's not set then just follow the !DOCTYPE declaration पर अग्रेषित किया जाता है।

दूसरे शब्दों में, जब तक कि उपयोगकर्ता में कुछ संगतता दृश्य सेटिंग्स नहीं हैं, IE will just follow your !DOCTYPE and use the latest standards mode of your browser for rendering anyway ... X-UA-Compatible IE=Edge कथन के लिए कोई आवश्यकता नहीं है।

जैसा कि एमएसडीएन कहते हैं: "Use the HTML5 document type declaration to enable edge mode"।

तो किस परिस्थितियों में X-UA-Compatible IE=Edge आवश्यक है?

उत्तर

109

जैसा कि @ डेविड के उत्तर बताते हैं, जब तक आप "स्थानीय इंट्रानेट" क्षेत्र में कोई साइट होस्ट नहीं कर रहे हैं, तो आपके वेबपृष्ठों में <meta http-equiv="X-UA-Compatible" content="IE=edge"> शामिल करने के बहुत कम कारण हैं, और (Microsoft's best practice recommendations के अनुसार) इसमें शामिल करने का बिल्कुल कोई कारण नहीं है एचटीएमएल में (आपको इसे अपने सर्वर कॉन्फ़िगरेशन या साइट हेडर में रखना चाहिए - HTML में नहीं।)

यदि आप अपनी परियोजना में कहीं भी X-UA-Compatible का उपयोग करने पर विचार कर रहे हैं, तो आपको याद रखना चाहिए कि संगतता दृश्य केवल IE8, 9 और 10 को प्रभावित करता है। इसे केवल आईई 8 में पेश किया गया था और आईई 11 में अक्षम कर दिया गया था।

यह भी ध्यान रखें कि IE11 the only officially supported version of IE at this time है। सभी पुराने संस्करणों को असुरक्षित माना जाना चाहिए।

यदि ऐसा करने के लिए आपको यह समझाने के लिए पर्याप्त कारण नहीं था कि माइक्रोसॉफ्ट राज्य IE8 and above already automatically render in Standards Mode when a <!DOCTYPE is present, इसे और भी व्यर्थ बना देता है।

आप अपने लिए प्रवाह कि IE तय करने के लिए ले जाता है देखो क्या दस्तावेज़ मोड का उपयोग कर सकते हैं:,

enter image description here enter image description here

आप देख सकते हैं, अगर कोई X-UA-Compatible मेटा टैग या HTTP हेडर मौजूद है यह उपयोगकर्ता की "संगतता दृश्य" सेटिंग्स की जांच करता है। यदि उपयोगकर्ता के पास आपकी वेबसाइट के लिए कोई नहीं है, तो IE <!DOCTYPE घोषणा की उपस्थिति के लिए जांच करता है। यदि यह एक पाता है तो यह स्वचालित रूप से नवीनतम मानक मोड (उर्फ "EmulateIEx") का उपयोग करता है। यदि ऐसा नहीं होता है, तो यह क्विर्क मोड में वापस आता है।

इससे भी अधिक कारणों से आप "एक्स-UA- संगत" मेटा टैग का उपयोग नहीं करना चाहिए:

  • यह HTML सत्यापन में विफल रहता है
  • It causes IE to stop and re-render your page
  • यह केवल कभी अस्थायी उपयोग थोड़ी देर के लिए डिजाइन किया गया था आप Microsoft (जोर मेरा) से समस्याओं

उद्धरण को ठीक:

यह प्रारंभिक पृष्ठ प्रस्तुत करता है ...

जब इंटरनेट एक्सप्लोरर एक्स-यूए-संगत मेटा टैग का सामना करता है तो यह नामित संस्करण के इंजन का उपयोग शुरू होता है। यह एक प्रदर्शन हिट है क्योंकि ब्राउज़र को सामग्री का विश्लेषण करना बंद करना और पुनरारंभ करना होगा।

यह केवल कभी अस्थायी उपयोग के लिए डिजाइन किया गया था ...

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

है better ways of implementing X-UA-Compatible अगर आप पूरी तरह से यह जरूरत है ...

सबसे अच्छा अभ्यास एक एक्स-UA- संगत HTTP हैडर है। प्रतिक्रिया शीर्षलेख में निर्देश जोड़ना इंटरनेट एक्सप्लोरर को बताता है कि सामग्री को पार्स करने से पहले कौन सा इंजन उपयोग करना है। यह वेब साइट के सर्वर में कॉन्फ़िगर किया जाना चाहिए।

अब केवल IE11 officially supported on modern operating systems है ...

12 जनवरी वर्ष 2016 केवल सबसे वर्तमान समर्थित ऑपरेटिंग सिस्टम तकनीकी समर्थन करता है और सुरक्षा अद्यतन प्राप्त होगा के लिए उपलब्ध Internet Explorer का संस्करण शुरू,। इंटरनेट एक्सप्लोरर 11 इंटरनेट एक्सप्लोरर का अंतिम संस्करण है, और विंडोज 7, विंडोज 8.1 और विंडोज 10 पर सुरक्षा अद्यतन, संगतता सुधार और तकनीकी सहायता प्राप्त करना जारी रखेगा।

हकीकत में, एकमात्र कारण अपने HTML में X-UA-Compatible मेटा टैग शामिल करने के लिए अपनी वेबसाइट के लिए एक उपयोगकर्ता के "संगतता दृश्य" सेटिंग को ओवरराइड करने के लिए किया गया था। लगभग हर मामले में उपयोगकर्ता इन सेटिंग्स को नहीं बदलता है (वे क्यों होंगे?)।

संक्षेप में: ऐसा मत करें।

+12

वे प्रवाह चार्ट शानदार हैं। – bennettp123

+6

आज के रूप में एक नोट, (10/16/2015), यह सच है कि आईई 11 में कंपैट बटन चला गया है, लेकिन यह अभी भी सेटिंग मेनू में सक्षम किया जा सकता है, इसलिए यह अभी भी एक संभावना के रूप में मौजूद है। हम आज इसका इस्तेमाल करते हैं क्योंकि हमारे वेब आधारित सॉफ़्टवेयर का उपयोग कॉरपोरेट इंट्रानेट्स में किया जाता है, जिसमें विरासत प्रणाली होती है जिसके लिए काम करने के लिए कंपैट मोड की आवश्यकता होती है, इसलिए हमें इसके आसपास जाना होगा। हालांकि HTTP शीर्षलेख पर महान युक्ति, इसके लिए धन्यवाद! –

+0

मेरे 2 सेंट: 'एक्स-यूए-संगत' मेटा टैग – boly38

15

यदि उपयोगकर्ता "स्थानीय इंट्रानेट" क्षेत्र (जैसे कॉर्पोरेट इंट्रानेट पर) में स्थित एक पृष्ठ ब्राउज़ कर रहा है, तो "संगतता दृश्य" डिफ़ॉल्ट रूप से चालू होता है। यह तब होता है जब मैंने नवीनतम इंजन का उपयोग करने के लिए आईई को मजबूर करने के लिए "एक्स-यूए-संगत" का उपयोग किया है।

+0

हाँ, यह वैध उपयोग की तरह लगता है, लेकिन उस स्थिति में आप शायद इसे सर्वर कॉन्फ़िगरेशन या साइट के हेडर में रखना चाहते हैं? http://stackoverflow.com/a/9338959/199700 –

+0

माइक्रोसॉफ्ट द्वारा संगतता दृश्य को कम करने के कुछ हिस्सों में भी बदलाव आया है। स्थानीय इंट्रानेट के अतिरिक्त, यदि किसी डोमेन में बहुत सारे सबडोमेन और एप्लिकेशन हैं, तो सबडोमेन के लिए संगतता दृश्य जोड़ना अब इसे संपूर्ण डोमेन पर लागू करता है (इससे पहले कि यह केवल विशिष्ट सबडोमेन पर लागू होता है)। तो यदि आपके पास केवल एक ही एप्लिकेशन है जिसके लिए इसकी आवश्यकता हो सकती है, तो आपको समर्थन समस्याओं से बचने के लिए अपने सभी दूसरों के लिए यह करना चाहिए। – kilkenny

1

जब तक यह "एज" पर सेट किया गया है, यह एचटीएमएल 5 के रूप में मान्य है, और मुझे बताया गया है कि यह केवल आईई को पृष्ठ को फिर से प्रस्तुत करने का कारण बनता है यदि साइट पहले से ही संगतता मोड में इसे प्रस्तुत कर रही थी। फिर भी, इसे सर्वर कॉन्फ़िगरेशन में डालकर (.htaccess, आदि) प्रत्येक पृष्ठ के HTML में डालने से बेहतर है।

0

हेनरी शिवोनन ने ब्राउज़र के प्रतिपादन मोड को चुनने के तरीके के बारे में एक बहुत ही उपयोगी संदर्भ दिया। आप इसे सब कुछ पढ़ सकते हैं: https://hsivonen.fi/doctype/

+2

हालांकि यह लिंक प्रश्न का उत्तर दे सकता है, लेकिन यहां उत्तर के आवश्यक हिस्सों को शामिल करना बेहतर है और संदर्भ के लिए लिंक प्रदान करना बेहतर है। लिंक किए गए पृष्ठ में परिवर्तन होने पर लिंक-केवल उत्तर अमान्य हो सकते हैं – Dethariel

संबंधित मुद्दे