Co robi?

Jaka jest różnica, jeśli jedna strona zaczyna się od

<!DOCTYPE html> 
<html> 
  <head> 
    <meta http-equiv="X-UA-Compatible" content="IE=edge"> 

I jeśli strona zaczyna się od

<!DOCTYPE html> 
<html> 
  <head> 
     <!-- without X-UA-Compatible meta -->

Jeśli nie ma różnicy, przypuszczam, że mogę zignorować nagłówek meta X-UA-Compatible, ponieważ chcę, aby był renderowany w większości standardowych trybów we wszystkich wersjach IE.

Author: isherwood, 2011-07-21

12 answers

Październik 2015 Aktualizacja

Ta odpowiedź została opublikowana kilka lat temu, a teraz pytanie naprawdę powinno brzmieć czy powinieneś w ogóle rozważyć użycie tagu X-UA-Compatible na swojej stronie? ze zmianami wprowadzonymi przez Microsoft w swoich przeglądarkach (więcej o nich poniżej).

W zależności od obsługiwanych przeglądarek Microsoft może nie być konieczne używanie tagu X-UA-Compatible. Jeśli chcesz obsługiwać IE9 lub IE8, polecam użycie tagu. Jeśli tylko wspierasz w najnowszych przeglądarkach (IE11 i/lub Edge) rozważyłbym całkowite porzucenie tego tagu. Jeśli używasz Twittera Bootstrap i musisz wyeliminować Ostrzeżenia dotyczące walidacji, ten znacznik musi być wyświetlany w określonej kolejności. Dodatkowe informacje poniżej:


Meta tag X-UA-Compatible pozwala autorom stron internetowych wybrać wersję przeglądarki Internet Explorer, jako którą strona ma być renderowana. IE11 wprowadził zmiany w tych trybach; patrz uwaga IE11 poniżej. Microsoft Edge , przeglądarka, która zostanie wydana po IE11, będzie honorować meta tag X-UA-Compatible tylko w pewnych okolicznościach. Zobacz notatkę Microsoft Edge poniżej.

Według Microsoftu, przy użyciu znacznika X-UA-Compatible powinien on znajdować się jak najwyżej w dokumencie head:

Jeśli używasz META tagu zgodnego z X-UA, chcesz umieścić go jak najbliżej góry strony. Internet Explorer rozpoczyna interpretację znaczników przy użyciu najnowszej wersji. Gdy Internet Explorer napotka Meta tag zgodny z X-UA zaczyna się od nowa za pomocą silnika oznaczonej wersji. Jest to hit wydajności, ponieważ przeglądarka musi zatrzymać i ponownie uruchomić analizę treści.

Oto twoje opcje:

  • "IE = edge"
  • "IE=11"
  • "IE = EmulateIE11"
  • "IE=10"
  • "IE = EmulateIE10"
  • "IE=9"
  • "IE = EmulateIE9
  • "IE=8"
  • "IE = EmulateIE8"
  • "IE=7"
  • "IE = Emulatie7"
  • "IE=5"

To aby zrozumieć, co każdy oznacza, oto definicje dostarczone przez Microsoft:

Internet Explorer obsługuje wiele trybów zgodności dokumentów, które umożliwiają różne funkcje i mogą wpływać na sposób wyświetlania treści:]}
  • Tryb Edge nakazuje przeglądarce Internet Explorer wyświetlanie zawartości w najwyższym dostępnym trybie. W przeglądarce Internet Explorer 9 jest to odpowiednik trybu IE9. Jeśli przyszłe wydanie programu Internet Explorer obsługiwało wyższą kompatybilność tryb, strony ustawione na tryb krawędzi będą wyświetlane w trybie najwyższym obsługiwanym przez tę wersję. Te same strony nadal pojawiałyby się w trybie IE9, gdy przeglądano je w przeglądarce Internet Explorer 9. Internet Explorer obsługuje wiele trybów zgodności dokumentów, które umożliwiają różne funkcje i mogą wpływać na sposób wyświetlania treści:

  • Tryb IE11 zapewnia najwyższe dostępne wsparcie dla uznanych i wschodzących standardów branżowych, w tym HTML5, CSS3 i innych.

  • Tryb IE10 zapewnia najwyższą dostępną obsługę znanych i nowych standardów branżowych, w tym HTML5, CSS3 i innych.

  • Tryb IE9 zapewnia najwyższą dostępną obsługę znanych i powstających standardów branżowych, w tym HTML5( robocza wersja robocza), specyfikacji kaskadowych arkuszy stylów W3C na poziomie 3( robocza wersja robocza), specyfikacji skalowalnej grafiki wektorowej (SVG) 1.0 i innych. [Uwaga redaktora: IE 9 nie obsługuje CSS3 animacje].

  • Tryb IE8 obsługuje wiele znanych standardów, w tym W3C Cascading Style Sheets Level 2.1 Specification i W3C Selectors API; zapewnia również ograniczone wsparcie dla W3C Cascading Style Sheets Level 3 Specification (robocza wersja robocza) i innych nowych standardów.

  • Tryb IE7 renderuje zawartość tak, jakby była wyświetlana w trybie Standard przez Internet Explorer 7, bez względu na to, czy strona zawiera dyrektywę.

  • Tryb emulacji IE9 nakazuje przeglądarce Internet Explorer użycie dyrektywy do określenia sposobu renderowania zawartości. Dyrektywy trybu standard są wyświetlane w trybie IE9, a dyrektywy trybu quirks są wyświetlane w trybie IE5. W przeciwieństwie do trybu IE9, Emulate IE9 respektuje dyrektywę.

  • Tryb emulacji IE8 nakazuje przeglądarce Internet Explorer użycie dyrektywy do określenia sposobu renderowania zawartości. Dyrektywy trybu standard są wyświetlane w trybie IE8, a dyrektywy trybu standard są wyświetlane w Tryb IE5. W przeciwieństwie do trybu IE8, Emulacja trybu IE8 respektuje dyrektywę.

  • Tryb emulacji IE7 nakazuje przeglądarce Internet Explorer użycie dyrektywy do określenia sposobu renderowania zawartości. Dyrektywy trybu Standards są wyświetlane w trybie standards Internet Explorer 7, a dyrektywy trybu quirks są wyświetlane w trybie IE5. W przeciwieństwie do trybu IE7, Emulacja trybu IE7 respektuje dyrektywę. Dla wielu witryn internetowych jest to preferowany tryb zgodności.

  • Tryb IE5 renderuje zawartość jakby były wyświetlane w trybie quirks przez Internet Explorer 7, który jest bardzo podobny do sposobu wyświetlania treści w Microsoft Internet Explorer 5.

Uwaga IE10: od IE10 tryb quirks zachowuje się inaczej niż we wcześniejszych wersjach przeglądarki. W IE9 i wcześniejszych wersjach tryb quirks ograniczył stronę do funkcji obsługiwanych przez IE5. 5. W IE10 tryb quirks jest zgodny z różnicami określonymi w HTML5 Specyfikacja.

Osobiście zawsze wybieram meta tag http-equiv="X-UA-Compatible" content="IE=edge", ponieważ starsze wersje mają mnóstwo błędów i nie chcę, aby IE zdecydowało się przejść w "tryb zgodności" i pokazać moją stronę jako IE7 vs IE8 lub 9. Zawsze wolę najnowszą wersję IE.

IE11

From Microsoft :

Począwszy od IE11, tryb edge jest preferowanym trybem dokumentu; reprezentuje najwyższe wsparcie dla nowoczesnych standardów dostępnych dla przeglądarka.

Użyj deklaracji typu dokumentu HTML5, aby włączyć tryb edge:

<!doctype html>

Tryb Edge został wprowadzony w Internet Explorerze 8 i był dostępny w każdym kolejnym wydaniu. Należy pamiętać, że funkcje obsługiwane przez tryb edge są ograniczone do tych obsługiwanych przez określoną wersję przeglądarki renderującej zawartość.

Począwszy od IE11, tryby dokumentów są przestarzałe i nie powinny być już używane, z wyjątkiem tymczasowego. Marka pamiętaj, aby aktualizować witryny, które opierają się na starszych funkcjach i trybach dokumentów, aby odzwierciedlały nowoczesne standardy.

Jeśli musisz wybrać określony tryb dokumentu, aby Twoja witryna działała podczas przerabiania jej na nowoczesne standardy i funkcje, pamiętaj, że używasz funkcji przejściowej, która może nie być dostępna w przyszłych wersjach.

Jeśli obecnie używasz nagłówka zgodnego z X-UA do kierowania starszego trybu dokumentu, możliwe, że Twoja witryna nie będzie odzwierciedlać najlepszych doświadczenie dostępne w IE11.

Microsoft Edge (zamiennik dla Internet Explorera, który jest dołączony do systemu Windows 10)

Informacje o X-UA-Compatible meta tagu dla wersji" Edge " IE. From Microsoft :

Wprowadzenie "żywego" trybu dokumentu krawędzi

Jak ogłosiliśmy w sierpniu 2013 roku, wycofujemy tryby dokumentów od IE11. Dzięki naszym najnowszym aktualizacjom platformy, potrzeba starsze tryby dokumentów są ograniczone przede wszystkim do starszych aplikacji internetowych dla przedsiębiorstw. Dzięki nowym zmianom architektonicznym te starsze tryby dokumentów zostaną odizolowane od zmian w trybie" living " Edge, co pomoże zagwarantować znacznie wyższy poziom kompatybilności klientom, którzy zależą od tych trybów, i pomoże nam jeszcze szybciej wprowadzać ulepszenia w Edge. Kolejna duża wersja IE nadal będzie honorować tryby dokumentów obsługiwane przez witryny intranetowe, witryny na liście widoku zgodności oraz gdy są używane z Tylko w trybie Enterprise.

Publiczne strony internetowe będą renderowane z nową platformą Edge mode (ignorując kompatybilność z X-UA). Naszym celem jest, aby od tego momentu Edge stał się "żywym" trybem dokumentowania, a kolejne tryby dokumentów nie zostaną wprowadzone w przyszłości.

Ze zmianami w programie Microsoft Edge, które w większości przypadków nie obsługują już trybów dokumentów, Microsoft ma narzędzie do skanowania witryny w celu sprawdzenia, czy ma kod, który nie jest kompatybilny z Edge.

Chrome=1 Info dla IE

Istnieje również chrome=1, które możesz używać lub używać razem z jedną z powyższych opcji, takich jak: <meta http-equiv="X-UA-Compatible" content="IE=Edge,chrome=1">. chrome=1 jest dla ramki Google Chrome, która jest zdefiniowana jako:

[22]}Google Chrome Frame to wtyczka do przeglądarki open source. Użytkownicy, którzy mają zainstalowaną wtyczkę, mają dostęp do otwartych technologii internetowych Google Chrome i szybkiego silnika JavaScript, gdy otwierają strony w przeglądarce.

Google Chrome Ramka bezproblemowo poprawia jakość przeglądania w przeglądarce Internet Explorer. Wyświetla witryny z obsługą Ramki Google Chrome przy użyciu technologii renderowania Google Chrome, zapewniając dostęp do najnowszych funkcji HTML5, a także funkcji wydajności i zabezpieczeń Google Chrome bez przerywania zwykłego korzystania z przeglądarki.

Kiedy Google Chrome Frame jest zainstalowany, sieć po prostu staje się lepsza bez konieczności myślenia o tym.

[[22]}Ale żeby ta wtyczka działała musisz użyć chrome=1 w meta tagu X-UA-Compatible.

Więcej informacji na temat Chrome Frame można znaleźć tutaj .

Uwaga: Ramka Google Chrome działa tylko dla IE6 do IE9 i została wycofana 25 lutego 2014. Więcej informacji można znaleźć tutaj . Dzięki @mck za link.

Walidacja:

HTML5 :

Strona zostanie sprawdzona przy użyciu walidatora W3 tylko przy użyciu <meta http-equiv="X-UA-Compatible" content="IE=Edge">. Dla innych wartości wyrzuci błąd: A meta element with an http-equiv attribute whose value is X-UA-Compatible must have a content attribute with the value IE=edge. innymi słowy, jeśli masz IE=edge,chrome=1, nie zostanie on zweryfikowany. Ignoruję ten błąd całkowicie, ponieważ nowoczesne przeglądarki po prostu ignorują tę linię kodu.

Jeśli musisz mieć całkowicie poprawny kod, rozważ zrobienie tego na poziomie serwera, ustawiając nagłówek HTTP. Dla przypomnienia Microsoft mówi: If both of these instructions are sent (meta and HTTP), the developer's preference (meta element) takes precedence over the web server setting (HTTP header). Zobacz odpowiedź olibre ' a lub odpowiedź bitinna aby uzyskać więcej informacji o tym, jak ustawić HTTP nagłówek.

XHTML

Nie ma problemu z walidacją podczas używania <meta http-equiv="X-UA-Compatible" content="IE=Edge" />, o ile znacznik jest prawidłowo zamknięty (np. /> vs >).

Twitter Bootstrap

Ten tag jest zdecydowanie zalecany przez zespół Bootstrap od co najmniej 2014 roku, a Bootlint , linter stworzony przez zespół twbs nadal rzuca Ostrzeżenie gdy tag zostanie pominięty. Linter rozróżnia ostrzeżenia i błędy oraz w związku z tym dotkliwość pominięcia tego znacznika może być uważana za niewielką.


Aby uzyskać więcej informacji na temat X-UA-Compatiblezobacz stronę Microsoft Definiowanie zgodności dokumentów .

Aby uzyskać więcej informacji na temat tego, co obsługuje IE zobacz caniuse.com .

Aby uzyskać więcej informacji na temat wymagań Bootstrap na Twitterze, zobacz stronę wiki projektu bootlint .

 1491
Author: L84,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-07-10 21:41:59

Użycie content="IE=edge,chrome=1" Pomiń inne tryby X-UA-Compatible

<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
                                   -------------------------- 
  • Brak ikony zgodności
    pasek adresu IE9 nie wyświetla przycisku widoku zgodności
    strona nie wyświetla również mnóstwa nie na miejscu menu, obrazów i pól tekstowych.

  • Funkcje
    ten meta tag jest wymagany do włączenia javascript::JSON.parse() w IE8
    (nawet gdy <!DOCTYPE html> jest obecny)

  • Poprawność
    Rendering / wykonanie nowoczesnego HTML / CSS / JavaScript jest bardziej poprawne (ładniejsze).

  • Osiągi
    silnik Trident rendering engine powinien działać szybciej w trybie edge .


Użycie

W Twoim HTML

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

Lub lepiej w konfiguracji serwera www:
(Zobacz też odpowiedź Riada )

  • Apache zgodnie z propozycją pixeline

    <IfModule mod_setenvif.c>
      <IfModule mod_headers.c>
        BrowserMatch MSIE ie
        Header set X-UA-Compatible "IE=Edge,chrome=1" env=ie
      </IfModule>
    </IfModule>
    <IfModule mod_headers.c>
      Header append Vary User-Agent
    </IfModule>
    
  • Nginx zgodnie z propozycją Stefania

    server {
      #...
      add_header X-UA-Compatible "IE=Edge,chrome=1";
    }
    
  • Lakier proxy zgodnie z propozycją Lucas Riutzel

    sub vcl_deliver {
      if( resp.http.Content-Type ~ "text/html" ) {
        set resp.http.X-UA-Compatible = "IE=edge,chrome=1";
      }
    }
    
  • IIS (od v7)

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

Microsoft zaleca Edge mode od IE11

Jak zauważył Lynda (Zobacz komentarze), zmiany kompatybilności w IE11 zaleca tryb Edge :

Począwszy od IE11, tryb krawędzi jest preferowanym trybem dokumentu; reprezentuje najwyższe wsparcie dla nowoczesnych standardów dostępnych dla przeglądarki.

Jednak stanowisko Microsoftu nie było jasne. inny strona MSDN nie poleciła trybu Edge:

Ponieważ tryb Edge wymusza otwieranie WSZYSTKICH stron w trybie standardowym, niezależnie od wersji Internet Explorera, możesz pokusić się o użycie tego dla wszystkich stron przeglądanych za pomocą przeglądarki Internet Explorer. Nie rób tego, ponieważ nagłówek X-UA-Compatible jest obsługiwany tylko od początku z Windows Internet Explorer 8.

W przeciwieństwie do tego, Microsoft zaleca użycie <!DOCTYPE html>:

If you want all obsługiwane wersje programu Internet Explorer do otwarcia strony w trybie standardów, użyj deklaracji typu dokumentu HTML5 [...]

Jako Ricardo wyjaśnia (w komentarzach poniżej) dowolny DOCTYPE (HTML4, XHTML1...) może być używany do wyzwalania trybu standardów, nie tylko DOCTYPE HTML5. Ważne jest, aby zawsze mieć DOCTYPE na stronie.

Clara Onager zauważyła nawet w starszej wersji , określającej legacy dokument tryby :

Tryb Edge jest przeznaczony tylko do celów testowych; nie używaj go w środowisku produkcyjnym.

To jest tak mylące, że Usman Y myśl Clara Onager mówiła o:

The [...] przykład podano wyłącznie w celach ilustracyjnych; nie używaj go w środowisku produkcyjnym.

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

Cóż... W dalszej części tej odpowiedzi podaję więcej wyjaśnień dlaczego używanie content="IE=edge,chrome=1" jest dobre praktyki w produkcji.


Historia

[19]} przez wiele lat (2000-2008), IE udział w rynku wynosił ponad 80% . I IE v6 został uznany za standard de facto (80% do 97% udziału w rynku w 2003, 2004, 2005 i 2006 tylko dla IE6, większy udział w rynku ze wszystkimi wersjami IE). Ponieważ IE6 nie przestrzegał standardów internetowych, Programiści musieli przetestować swoją stronę za pomocą IE6. Że sytuacja była świetna dla Microsoftu (MS), ponieważ twórcy stron internetowych musieli kupować produkty MS (np. IE nie może być używany bez zakupu Windows), a bardziej dochodowe było pozostawanie niezgodnym (np. Microsoft chciał stać się standardem z wyłączeniem innych firm).

Dlatego wiele witryn było zgodnych tylko z IE6, a ponieważ IE nie było zgodne ze standardem internetowym, wszystkie te witryny nie były dobrze renderowane na przeglądarkach zgodnych ze standardami. Co gorsza, wiele stron wymagane TYLKO IE

.

Jednak w tym czasie Mozilla rozpoczęła rozwój Firefoksa z poszanowaniem jak najbardziej wszystkich standardów sieciowych (inne przeglądarki zostały zaimplementowane do renderowania stron, jak to robi IE6). Ponieważ coraz więcej programistów chciało korzystać z nowych funkcji web standards, coraz więcej stron internetowych było bardziej wspieranych przez Firefoksa niż IE.

Kiedy udział IE w rynku malał, MS zdało sobie sprawę, że utrzymanie standardu niezgodnego z normami nie było dobrym pomysłem. W związku z tym MS zaczął wydanie nowej wersji IE (IE8/IE9/IE10) z coraz większym poszanowaniem standardów sieciowych.


Problem niezgodny z siecią

Ale problem polega na tym, że wszystkie strony internetowe zaprojektowane dla IE6: Microsoft nie mógł wydać nowych wersji IE niezgodnych z tymi starymi stronami zaprojektowanymi przez IE6. Zamiast wywnioskować, że wersja IE została zaprojektowana, MS poprosiło programistów o dodanie dodatkowych danych (X-UA-Compatible) na swoich stronach.

IE6 jest nadal używany w 2016 roku

Obecnie IE6 jest nadal używane (0,7% w 2016) (4.5% W styczniu 2014), a niektóre strony internetowe są nadal zgodne z IE6. Niektóre strony internetowe/aplikacje intranetowe są testowane przy użyciu IE6. Niektóre strony intranetowe są w 100% funkcjonalne tylko na IE6. Te firmy / działy wolą odłożyć koszty migracji: inne priorytety, nikt już nie wie, jak strona internetowa/aplikacja została wdrożona, właściciel starszej strony / aplikacji zbankrutował...

[[19]}Chiny stanowią 50% użycia IE6 w 2013, ale może się to zmienić w następnych latach, ponieważ chińska dystrybucja Linuksa jest emitowana .

Bądź pewny swoich umiejętności internetowych

Jeśli (próbujesz) szanować web standard, możesz po prostu zawsze użyć http-equiv="X-UA-Compatible" content="IE=edge,chrome=1". Aby zachować zgodność ze starymi przeglądarkami, po prostu unikaj korzystania z najnowszych funkcji internetowych: użyj podzbioru obsługiwanego przez najstarszą przeglądarkę, którą chcesz obsługiwać. Lub jeśli chcesz pójść dalej, możesz przyjąć pojęcia jako wdzięczna degradacja, Progresywne enhancement and Unobtrusive JavaScript. (Możesz również przeczytać co powinien wziąć pod uwagę programista stron internetowych?.)

Nie dbaj o najlepsze renderowanie wersji IE: nie jest to twoje zadanie, ponieważ przeglądarki muszą być zgodne ze standardami sieciowymi. Jeśli Twoja witryna jest zgodna ze standardem i korzysta z umiarkowanie najnowszych funkcji, dlatego przeglądarki muszą być zgodne z Twoją witryną.

W tym samym roku, w 1999 roku, w 1999 roku, w 1999 roku, w 1999 roku, w 1999 roku, w 1999 roku, w 1999 roku]} IE6 (IE6 już nie, kampania MS ), w dzisiejszych czasach można uniknąć marnowania czasu na testowanie IE!

Osobiste doświadczenie IE6

W latach 2009-2012 pracowałem dla firmy używającej IE6 jako oficjalnej pojedynczej przeglądarki . Musiałem wdrożyć stronę intranetową tylko dla IE6. Postanowiłem respektować web standard, ale używając podzbioru obsługującego IE6 (HTML / CSS / JS).

Było ciężko, ale kiedy firma przełączyła się na IE8, strona była nadal dobrze renderowana ponieważ używałem Firefoksa i firebug , Aby sprawdzić zgodność ze standardem internetowym;)

 313
Author: olibre,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-05-23 11:55:02

Różnica polega na tym, że jeśli podasz tylko DOCTYPE, Ustawienia widoku zgodności IE mają pierwszeństwo. Domyślnie ustawienia te wymuszają wyświetlanie wszystkich witryn intranetowych w widoku zgodności niezależnie od DOCTYPE. Istnieje również pole wyboru, aby użyć widoku zgodności dla wszystkich stron internetowych, niezależnie od DOCTYPE.

Okno ustawień zgodności IE

X-UA-Compatible zastępuje ustawienia widoku zgodności, więc strona będzie renderowana w trybie standardowym niezależnie od ustawień przeglądarki. Wymusza to tryb norm za:

  • strony intranetowe
  • Strony zewnętrzne, gdy administrator komputera wybrał opcję" Wyświetl wszystkie strony w widoku zgodności " jako domyślną-pomyśl o dużych firmach, rządach, uniwersytetach]}
  • gdy przypadkowo trafisz na listę przeglądania zgodności Microsoft
  • przypadki, w których użytkownicy ręcznie dodali swoją stronę do listy w Ustawieniach widoku zgodności

DOCTYPE sam nie może tego zrobić; skończysz w jednym z tryby widoku zgodności w tych przypadkach niezależnie od DOCTYPE.

Jeśli podano zarówno znacznik meta, jak i nagłówek HTTP, znacznik meta ma pierwszeństwo.

Ta odpowiedź opiera się na zbadaniu pełnych zasad decydowania o trybie dokumentu w IE8, IE9 i IE10 . Zauważ, że spojrzenie na DOCTYPE jest ostatnią alternatywą dla decydowania o trybie dokumentu.

 53
Author: andrewdotn,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-04-23 16:28:16

Użyj tego, aby wymusić, aby IE ukryło ten irytujący przycisk zgodności przeglądarki na pasku adresu:

<meta http-equiv="X-UA-Compatible" content="IE=edge" />
 24
Author: George Filippakos,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-02-13 09:25:03

Ponieważ nie mogę dodać komentarza do zaznaczonej odpowiedzi, po prostu zamieszczę to tutaj.

Oprócz poprawnej odpowiedzi, możesz ją zweryfikować. Ponieważ ten meta tag jest skierowany tylko dla IE, wszystko, co musisz zrobić, to dodać IE warunkowe.

<!--[if IE]>
    <meta http-equiv="X-UA-Compatible" content="IE=Edge,chrome=1">
<![endif]-->

Robienie tego jest tak samo jak dodawanie innych instrukcji warunkowych IE i działa tylko dla IE i żadne inne przeglądarki nie będą miały tego wpływu.

 22
Author: EMurph78,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-06-15 14:38:57

Myślę, że ten diagram od Microsoftu wszystko wyjaśnia. Aby powiedzieć IE jak renderować zawartość,!DOCTYPE musi pracować z meta tagiem zgodnym z X-UA. !DOCTYPE sam w sobie nie ma wpływu na zmianę trybu dokumentu IE.

Tutaj wpisz opis obrazka

Http://ie.microsoft.com/testdrive/ieblog/2010/Mar/02_HowIE8DeterminesDocumentMode_3.png

 13
Author: James Tsai,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-12-14 14:55:21

Tylko dla kompletności, nie musisz dodawać go do swojego HTML (który jest nieznany http-equiv w HTML5)

Zrób to i nigdy nie oglądaj się za siebie (pierwszy przykład dla apache, drugi dla nginx)

Header set X-UA-Compatible "IE=Edge,chrome=1"

add_header X-UA-Compatible "IE=Edge,chrome=1";
 11
Author: bitinn,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-05-18 10:04:42
<meta http-equiv="X-UA-Compatible" content="IE=Edge">

Aby linia działała zgodnie z oczekiwaniami, upewnij się, że:

  1. jest pierwszym elementem zaraz po <head>
  2. nie komentarze warunkowe są używane przed meta tagiem, np. na elemencie <html>

W przeciwnym razie niektóre wersje IE po prostu to ignorują.

UPDATE

Te dwie zasady są uproszczone, ale łatwo je zapamiętać i zweryfikować. Pomimo dokumentów MSDN stwierdzających, że możesz umieścić tytuł i inne meta tagi przed tym, chciałbym nie zaleca się tego robić.

Jak to działa z komentarzami warunkowymi.

Ciekawy artykuł o kolejności elementów w głowie. (blogs.msdn.com, dla IE)

Numer referencyjny

Z dokumentacji MSDN :

The X-UA-Compatible [...] musi pojawić się w nagłówku strony (sekcja HEAD) przed wszystkimi innymi elementami z wyjątkiem elementu title i innych elementów meta.

 7
Author: ToniTornado,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-05-23 11:55:02

Jeśli korzystasz ze swojej strony w tej samej sieci co serwer, tj. pomimo DOCTYPE, chcesz przełączyć się na tryb kompresji .
Dodawanie meta http-equiv="X-UA-Compatible" content="IE=Edge" wyłącza {[3] } to niechciane zachowanie.

 4
Author: Łukasz Jakóbiec,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-03-22 15:32:52

To jest dosłownie 1 Google query away , ale tutaj idzie:

Http://msdn.microsoft.com/en-us/library/jj676915 (v=vs.85). aspx

Zrozumienie starszych trybów dokumentów

Użyj poniższej wartości, aby wyświetlić stronę w trybie krawędzi, który jest tryb najwyższych standardów obsługiwany przez Internet Explorer, z Internet Explorer 6 przez IE11.

<meta http-equiv="x-ua-compatible" content="IE=edge"

Uwaga , że jest to funkcjonalnie równoważne z wykorzystaniem HTML5 doctype. Umieszcza Internet Explorera w najwyższej obsługiwanej tryb dokumentu. Edge most jest najbardziej przydatny do regularnej konserwacji strony internetowe, które są rutynowo testowane pod kątem interoperacyjności między wiele przeglądarek, w tym Internet Explorer.

Uwaga Począwszy od IE11, tryb edge jest uważany za preferowany tryb dokumentu. (We wcześniejszych wersjach był uważany za eksperymentalny.) Aby dowiedzieć się więcej, Zobacz tryb dokumentu jest przestarzały. Zaczynając od Okna Internet Explorer 8, niektórzy programiści korzystali z trybu edge element meta do ukrycia przycisku Widok zgodności na pasku adresu. Od IE11 nie jest to już konieczne, ponieważ przycisk został usunięty z paska adresu. Ponieważ wymusza otwieranie WSZYSTKICH stron w tryb standard, niezależnie od wersji Internet Explorer, można może pokusić się o użycie trybu edge dla wszystkich stron oglądanych przez Internet Explorer. Nie rób tego, ponieważ nagłówek Kompatybilny Z X-UA jest tylko obsługiwane począwszy od Internet Explorera 8.

Końcówka Jeśli chcesz, aby wszystkie obsługiwane wersje programu Internet Explorer otwierały strony w trybie standardów, użyj deklaracji typu dokumentu HTML5, jak pokazano we wcześniejszym przykładzie.

Również wśród wyników wyszukiwania jest:

 3
Author: Joe Mike,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-05-23 12:26:35

Wystarczy jedno zdanie poinstruuj Internet Explorera, aby korzystał z najnowszego silnika renderującego

<meta http-equiv="x-ua-compatible" content="ie=edge">
 2
Author: Bipon Biswas,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-11-08 18:53:37

2.1.3.5 X-UA-kompatybilność Meta Tag i nagłówek odpowiedzi HTTP

Ta funkcjonalność nie zostanie zaimplementowana w żadnej wersji Microsoft Edge.

<meta http-equiv="X-UA-Compatible" content="IE=9; IE=8; IE=7; IE=EDGE" />

Zobacz https://msdn.microsoft.com/en-us/library/ff955275 (v=vs.85). aspx

Tak, Wiem, że jestem spóźniony na imprezę, ale po prostu miałem pewne problemy i dyskusje, a w końcu mój szef kazał mi usunąć znacznik X-UA-Compatible Usuń ze wszystkich dokumentów, nad którymi pracowałem.

Jeśli te informacje są nieaktualne lub nie / align = "left" /

 1
Author: Shawn Spencer,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-12-19 18:56:18