Internet Explorer 8 दस्तावेज़ मोड का अनुकरण करते हुए भी Internet Explorer 11 सम्मानजनक टिप्पणी क्यों नहीं करता है?


110

मैं दस्तावेज़ मोड को "8" पर स्विच करने के लिए नए इंटरनेट एक्सप्लोरर 11 डेवलपर टूल का उपयोग कर रहा हूं , लेकिन सशर्त टिप्पणियों को अभी भी अनदेखा किया जाता है, अर्थात, वे ठीक से पार्स नहीं होते हैं और सामान्य टिप्पणियों की तरह व्यवहार करते हैं। तो सशर्त टिप्पणी के अंदर किसी भी संदर्भित फ़ाइल को ब्राउज़र द्वारा अनुरोध / लोड नहीं किया जाता है।

क्यों होता है ऐसा? यह एक बग है?

अगर आपको लगता है कि यह वास्तव में एक बग है जिसे ठीक करने की आवश्यकता है, तो कृपया अंदर जाएं और कहें कि आप इस समस्या के लिए रिपोर्ट की गई Microsoft बग रिपोर्ट पर भी इसे पुन: पेश कर सकते हैं:
F12 डेवलपर के माध्यम से दस्तावेज़ मोड का अनुकरण करते समय सशर्त टिप्पणियां काम नहीं करती हैं उपकरण

अद्यतन: इस समस्या का उल्लेख बग रिपोर्ट में तय किया गया है।


18
खुद से वही सवाल पूछना! मुझे पता है कि उन्होंने IE10 में सशर्त टिप्पणियों को छोड़ दिया था लेकिन पुराने ब्राउज़रों के लिए परीक्षण करते समय आईएमएचओ एमुलेटर को उन पर विचार करना चाहिए
अलेक्जेंडर रीचस्टिनर

12
वास्तव में, यह सुविधा को व्यर्थ बनाता है।
थैस्मो

3
असली सवाल यह है कि आप कंपेटिबिलिटी मोड का उपयोग क्यों कर रहे हैं? मेरी सलाह है कि प्लेग की तरह कॉम्पिटिटर मोड से बचें। यह निश्चित रूप से परीक्षण के लिए उपयुक्त नहीं है, आपके द्वारा बताए गए मुद्दे की परवाह किए बिना, क्योंकि वहाँ ज्ञात कीड़े और quirks हैं जो सभी तरह से वापस जाते हैं जब उन्होंने पहली बार कॉम्पिटिट मोड पेश किया था। यदि आप पिछड़े संगतता के लिए परीक्षण कर रहे हैं, तो आपको वास्तव में IE8 (और IE9, आदि) की एक वास्तविक प्रतिलिपि का उपयोग करने की आवश्यकता है। आधुनिक पर जाएं और परीक्षण के लिए वे वीएम डाउनलोड करें।
स्पडली

19
IE बग ट्रैकर पर एक बग खुला है। मैं सभी को Microsoft को यह बताने और बताने के लिए प्रोत्साहित करता हूं कि आप इसे पुन: पेश कर सकते हैं। connect.microsoft.com/IE/feedback/details/806767/…
एवगेनी

15
मुझे लगता है कि परीक्षण के लिए संगतता मोड का उपयोग करने से हर ब्राउज़र के लिए 1/2 गीगाबाइट या इतनी छवि डाउनलोड करने की तुलना में अधिक समझ में आता है। तो कीड़े हैं, (और यह शायद उनमें से एक है), लेकिन 99.% समय यह बस काम करता है।
रॉल्फ

जवाबों:


29

अनुसार करने के लिएJacob Rossi [MSFT]

यह IE11 के लिए अद्यतन 1 में तय किया जाना चाहिए, पिछले सप्ताह जारी किया गया

यह 22 अप्रैल 2014 को पोस्ट किया गया था।

कुछ परीक्षणों को चलाने में, ऐसा प्रतीत होता है कि यह तय हो गया था और सभी अब तक के सबसे आश्चर्यजनक ब्राउज़र के परीक्षण के लिए फिर से सुचारू रूप से चल रहे हैं ... इंटरनेट एक्सप्लोरर!


4
इसे और अधिक उभारने की जरूरत है। मुझे बस यहां पहुंचने के लिए दो स्टैक ओवरफ्लो उत्तरों के माध्यम से खुदाई करनी थी।
Tek

@ लिंडा: क्या आप अपने IE11 संस्करण को पोस्ट कर सकते हैं? मेरा है 11.0.9600.17631
मोहम्मद हुसैन

1
@MohamedHussain - मेरा संस्करण 11.0.9600.17690IC है।
L84

3
आप व्यंग्यात्मक होना चाहिए।
पैडटॉक

IE के बारे में 'सबसे आश्चर्यजनक ब्राउज़र' है?
पैडटॉक

20

मैंने अभी यह सुनिश्चित करने के लिए विंडोज 7 पर इंटरनेट एक्सप्लोरर 11 में इसका उपयोग करने की कोशिश की है कि मेरे उपयोग किए गए एचटीएमएल 5 शब्दार्थ तत्व इंटरनेट एक्सप्लोरर 8 और उससे नीचे (सशर्त टिप्पणियों के माध्यम से) के लिए बनाए जा रहे हैं , और ब्राउज़र बस उन्हें अनदेखा करता है। -_-

यह सुविधा इंटरनेट एक्सप्लोरर 10 में पूरी तरह से ठीक काम करती है , और माइक्रोसॉफ्ट को इसके साथ छेड़छाड़ करनी थी, क्या उन्होंने नहीं किया?

<!--[if lte IE 8]><script src="ie8-html5.js"></script><![endif]-->

इसके अलावा, मैं वास्तव में इंटरनेट एक्सप्लोरर का आनंद ले रहा हूं, जो बदलाव के लिए बनाता है।


4
हां, IE 11 एक बेहतर अनुभव है, सभी एनिमेशन जो वास्तव में काम करते हैं :)। हाँ एमएस में सामान के साथ "छेड़छाड़" का इतिहास है, जब उपयोगकर्ता उन्हें इस्तेमाल करना शुरू कर रहे हैं। देखें कि उन्होंने विंडोज एक्सपी के लिए क्या किया ... "फिक्सिंग क्या टूटा नहीं है", कुछ लोग कहेंगे। वैसे भी जो चूसता है
रॉल्फ

9
इंटरनेट एक्सप्लोरर ब्राउज़र बहुत खराब हैं। संस्करणों के बीच कोई संगति नहीं। किसने इसे विकसित किया? यहां तक ​​कि मेरी भव्य माँ भी बेहतर काम कर सकती थीं!
Adrien Be

4
संपादित करें: वे 22 वें जनवरी 2014 के बाद से इस फिक्सिंग कर रहे हैं (या कोशिश कर) connect.microsoft.com/IE/feedback/details/806767/...
एड्रियन रहो

@ AdrienBe खैर, यह निश्चित रूप से सही दिशा में एक कदम है।
18

1
@Anthony मेरा उत्तर गलत है? ऐसा कैसे? यह मूल रूप से कह रहा है कि आपने अभी क्या कहा है।
डिलेरिचो

17

यह मेरे लिए काम करता है और सबसे सुरुचिपूर्ण / आसान फिक्स ( इंटरनेट एक्सप्लोरर 10 और इंटरनेट एक्सप्लोरर 11 मुझे लगता है कि समर्थन करने वाले एकमात्र ब्राउज़र हैं -ms-high-contract) की तरह लगता है:

@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {  
   /* IE10+ specific styles go here */
}

उत्कृष्ट धन्यवाद। जब Microsoft इस गड़बड़ी को मारने जा रहा है?
कोहजा ब्रेज़ डे

इसके लिए टैंक, IE 11 पुराने सशर्त मेथोड का सम्मान नहीं करता है। <! - [अगर IE]>
गीनो

8

मैं हाल ही में उसी समस्या में भाग गया। मैंने यह भी पाया कि कुछ सशर्त टिप्पणियां काम करती हैं:

  • gtऔर ltठीक काम किया
  • gteऔर lteकभी काम नहीं किया

तो एक संभावित समाधान ऑपरेटरों gtऔर ltऑपरेटरों का उपयोग करने के लिए सशर्त बयानों को बदलना होगा ।

दूसरा विकल्प, जो मुझे अधिक उपयोगी लगा, वह था ब्राउज़रस्टैक जैसी सेवा का उपयोग करना ।


8

मेरे पास इसके लिए एक और उपाय है।

Internet Explorer 11 के साथ Internet Explorer 8 संगतता मोड में स्ट्रिंग 'MSIE 8.0' शामिल है, इसलिए:

(PHP उदाहरण)

if (strpos($_SERVER['HTTP_USER_AGENT'],'MSIE 8.0') !== false) {
    $head[] = sprintf('<link rel="stylesheet" href="ie8.css" />');
}

2
मैंने दस्तावेज़ मोड का परीक्षण किया है और यह उपयोगकर्ता एजेंट को बदलने के लिए नहीं लगता है ?!
mgutt

@mgutt तुम सही हो। एमुलेशन में दो विकल्प होते हैं - डॉक्यूमेंट मोड और यूजर एजेंट। दस्तावेज़ मोड में परिवर्तन होता है कि ब्राउज़र कैसे काम करता है और यह पृष्ठ को कैसे प्रस्तुत करता है, और उपयोगकर्ता एजेंट ब्राउज़र के संस्करण के बारे में साइट के बारे में क्या बताता है। (मेरे उदाहरण में यह $ _SERVER ['HTTP_USER_AGENT'] चर में यह जानकारी है) इसलिए मूल रूप से आपको यह दोनों विकल्प बदलने की आवश्यकता है, उदाहरण के लिए, IE8।
आंद्रेई कॉन्स्टेंटिनोव

@ एंड्रयू धन्यवाद। अब मुझे सेटिंग मिल गई। समस्या जर्मन अनुवाद था। उन्होंने "Zeichenfolge des Benutzer-Agent" के साथ "यूजर एजेंट" का अनुवाद किया और मुझे लगा कि इसका मतलब चारसेट है। कुछ चीजों का अनुवाद नहीं किया जाना चाहिए;)
mgatt

2
यह समाधान सबसे अच्छा है। मैंने इसे ASP.NET MVC रेजर में परिवर्तित कर दिया है और यह पूरी तरह से काम करता है: @ {if (Request.UserAgent.Contains ("MSIE 8.0")) {/ * आपका मेटाटैग यहां * /}}
वैलेरियो जेन्टल

यह साइट इस बात के लिए एक उपयोगी संदर्भ है कि उपयोगकर्ता एजेंट स्ट्रिंग्स के सभी क्रमांकन क्या दिखते हैं: useragentstring.com/pages/Internet%20Explorer
ड्रू

4

मेरे पास एक ही मुद्दा था - इसने मुझे पूरी सुबह पागल कर दिया। मैं जोड़ा Modernizr , और मैं yepnope.js सहित सभी विकल्प, का चयन किया।

तो अब मेरा परीक्षण इस तरह दिखता है:

Modernizr.load({
            test: Modernizr.canvas,
            nope: ['Content/Site-ie-8.min.css', 'Content/font-awesome-ie7.min.css']
});

इस मामले में मैं कैनवास के लिए परीक्षण करता हूं (जो कि इंटरनेट एक्सप्लोरर 9 से पहले समर्थित नहीं है), इसलिए मैं अपनी सशर्त सामग्री लोड करता हूं। यह अब इंटरनेट एक्सप्लोरर 11 डेवलपर टूल में ब्राउज़र मोड को स्विच करते समय काम करता है।


सशर्त टिप्पणियां स्क्रिप्ट या किसी तीसरे पक्ष के कोड पर निर्भर नहीं करती हैं।
2

@Walf - सच है, लेकिन वे IE में भी समर्थित नहीं हैं। यहाँ देखें: msdn.microsoft.com/en-us/library/ie/hh801214(v=vs.85).aspx
El Kabong

3

मैंने इसका उल्लेख यहां नहीं देखा, लेकिन इस बग रिपोर्ट में यह उल्लेख किया गया है कि, यदि आप संगतता दृश्य सेटिंग्स बदलते हैं, तो सशर्त टिप्पणियां अपेक्षित रूप से काम करती हैं। इसलिए:

  1. IE11 में, "टूल" पर क्लिक करें
  2. अनुकूलता के लिए सेटिंग्स देखें
  3. URL में टाइप करें और Add पर क्लिक करें

लगता है अब मेरे लोकलहोस्ट पर ठीक काम कर रहा हूँ। मैंने इसका बड़े पैमाने पर परीक्षण नहीं किया है लेकिन शायद यह किसी की मदद करेगा।


लेकिन आपकी वेबसाइट के आगंतुकों को समान परिणाम प्राप्त करने के लिए ऐसा ही करना होगा। इसे बेकार बना रहा है।
पैडटॉक

हाँ। लेकिन यह है अगर आप IE के पुराने संस्करणों का परीक्षण कर रहे हैं IE11 डेवलपर टूल के माध्यम से। इसलिए IE11 का उपयोग करना लेकिन IE8 के रूप में चलना, सशर्त टिप्पणियों से काम नहीं चलेगा। वास्तव में IE8 का उपयोग करने वाले व्यक्ति के लिए, सशर्त टिप्पणियां काम करेंगी। संभवतः ^ _ ^
बस प्लेन हाई

1

कुछ सशर्त टिप्पणियां ' gt' और ' lt' जैसे काम कर रही हैं , लेकिन उदाहरण के लिए <!--[if IE 8]>काम नहीं कर रही हैं। यह निश्चित रूप से उन डेवलपर्स के लिए असुविधाजनक है जो कोशिश करना चाहते हैं कि उनके वेबपेज इंटरनेट एक्सप्लोरर ब्राउज़र के विभिन्न संस्करणों पर कैसे दिखते हैं, लेकिन यह सभी बुरी खबर नहीं है।

हालाँकि सशर्त टिप्पणियां काम नहीं कर रही हैं, फिर भी आप परीक्षण कर सकते हैं कि आपका वेबपेज प्रत्येक इंटरनेट एक्सप्लोरर संस्करण में एक समय में एक स्टाइलशीट को जोड़कर कैसा दिखता है: मान लीजिए कि आपको फ़ायरफ़ॉक्स, क्रोम, इंटरनेट एक्सप्लोरर 10 और इंटरनेट एक्सप्लोरर के लिए एक स्टाइलशीट मिल गई है 11 को ' screen.css' कहा जाता है , और एक अन्य स्टाइलशीट केवल इंटरनेट एक्सप्लोरर 9 के लिए ' screen-ie9.css' और दूसरे को इंटरनेट एक्सप्लोरर 8 के लिए केवल ' screen-ie8.css' कहा जाता है ।

Internet Explorer 9 के लिए केवल अपने वेबपृष्ठों का परीक्षण करने के लिए, आप यह कर सकते हैं:

<link rel="stylesheet" href="path/css/screen.css"     type="text/css" />
<link rel="stylesheet" href="path/css/screen-ie9.css" type="text/css" />

और F12 डेवलपर टूल्स, एमुलेशन सेक्शन में, 'डॉक्यूमेंट मोड' को '9' और 'यूजर एजेंट स्ट्रिंग' को 'इंटरनेट एक्सप्लोरर 9' पर सेट करें। दस्तावेज़ मोड वह मानक है जो Internet Explorer 9 का उपयोग करता है और उपयोगकर्ता एजेंट स्ट्रिंग ब्राउज़र ही है।

पुनश्च: मैं यह मान रहा हूं कि ' screen.css' आपकी आधार शैली पत्रक है, यही कारण है कि मैं इसे पहले "ओवरराइटिंग" की तुलना में इंटरनेट एक्सप्लोरर 9 को बाद में screen-ie9.css'दूसरा' कहकर ठीक करता हूं ।

ऐसा करने से, आप "निश्चित" हो सकते हैं (मुझे बिना उद्धरण के 'निश्चित' शब्द लिखने के लिए वीएम के साथ परीक्षण करना होगा) जिसे आप इंटरनेट एक्सप्लोरर 9 ब्राउज़र पर अपना वेबपेज देख रहे हैं। जब आप Internet Explorer 9 पर परीक्षण और स्टाइल कर रहे हैं, और आप Internet Explorer 8 के साथ परीक्षण करना चाहते हैं, तो आप इसे बदलकर आसानी से एक ही चाल कर सकते हैं:

<link rel="stylesheet" href="path/css/screen-ie9.css" type="text/css" />

इसके साथ:

<link rel="stylesheet" href="path/css/screen-ie8.css" type="text/css" />

तो, यह माइक्रोसॉफ्ट की तरफ से केवल मामूली असुविधा की बात है, लेकिन नए F12 डेवलपर्स के टूल बहुत सारे अद्भुत सुविधाओं की पेशकश कर रहे हैं, जो यह बहुत बड़ी बात नहीं है।

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