Internet Explorer 11 wyłącza "wyświetlanie witryn intranetowych w widoku zgodności" przez meta tag nie działa

Pracuję nad stroną intranetową od ponad 6 miesięcy czy używałem poniżej html5 doctype i Edge meta tag zgodności, aby wymusić Internet Explorer nie emulować starszej wersji przeglądarki, i to działało ok.

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="utf-8" />
    <title>My title</title>
    <meta http-equiv="X-UA-Compatible" content="IE=EDGE" />
</head>
<body>
</body>
</html>

Powodem, dla którego robiłem to w ten sposób, jest to, że miejsce, w którym pracuję, używa ustawienia zasad, aby włączyć widok zgodności dla wszystkich witryn intranetowych, a to podejście przy użyciu ustawienia EDGE działa w Internet Explorerze 9.

Ustawienie widoku zgodności witryny intranetowej

Ponad miesiąc temu został zaktualizowany do Internet Explorer 11 i strona nadal działa zgodnie z oczekiwaniami.

Dzisiaj to przestało działać zgodnie z oczekiwaniami, nie mogę powiedzieć na pewno, ale myślę, że polityka, która wymusza widok zgodności nie została włączona w IE11 i teraz jest... a ponieważ zostało to włączone, meta tag zgodności nie robi już tego, czego się oczekuje, a ta strona jest uruchamiana w trybie Enterprise, który emuluje IE8.

Czy ktoś wie jak to naprawić i wymusić użycie IE11 w witrynie intranetowej, gdy egzekwowany jest "tryb korporacyjny" zgodności? i nie można wyłączyć za pomocą ustawień przeglądarki?

EDIT

Właśnie próbowałem dodać niestandardowy nagłówek w mojej sieci.config jak wyjaśniono w tej odpowiedzi https://stackoverflow.com/a/18257208/98706

I to nie działa dla mnie nadal dostaję poniższy komunikat w konsoli paska narzędzi programisty

HTML1122: Internet Explorer is running in Enterprise Mode emulating IE8.

To tak jakby wersja 8 jest traktowany jako edge, gdy to ustawienie zgodności intranetu jest włączone w IE11.

Ten post: https://www.leapinggorilla.com/Blog/Read/1016/ie-ate-my-css---disabling-compatability-mode wyjaśnia to dobrze, nie próbowałem jeszcze ustawić tego nagłówka za pomocą kodu, a nasi użytkownicy nie mają dostępu do zmiany ustawień przeglądarki.. żadna z pozostałych zmian nie zadziałała jak dotąd.

UPDATE

Proszę zobaczyć mój komentarz do tego wpisu o tym, co różnica między trybem korporacyjnym a trybem zgodności jest, ponieważ jest to ważne.

Author: Community, 2014-08-28

10 answers

Upewnij się:

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

Jest pierwszym tagiem <meta> na twojej stronie, w przeciwnym razie IE może go nie respektować.

Alternatywnie, problemem może być to, że IE używa Enterprise Mode dla tej strony:

  • twoje pytanie wspominało, że konsola pokazuje: HTML1122: Internet Explorer is running in Enterprise Mode emulating IE8.
  • Jeśli tak, może być konieczne wyłączenie trybu korporacyjnego (lub w ten sposób) lub wyłączenie go dla tej witryny z menu Narzędzia w IE.
  • Jednak Tryb Enterprise powinno teoretycznie być nadpisane przez znacznik Kompatybilny Z X-UA, ale IE może mieć błąd...
 94
Author: sparrowt,
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-10-20 19:13:58

Ten problem jest zwykle spowodowany umieszczeniem adresu URL strony / intranetu w jednym z:

  • Lista Trybów Zgodności
  • Internet Explorer Strefa Intranet
    (z włączonym ustawieniem wyświetlanie witryn intranetowych w widoku zgodności)
  • Lista Trybów Korporacyjnych

W sieciach korporacyjnych te ustawienia widoku zgodności są często kontrolowane centralnie za pomocą group policy. W Twoim przypadku, Enterprise Mode wydaje się być winowajcą.

IE 11 Enterprise Mode

Niestety ustawianie META X-UA-Compatible nie nadpisuje tego.

Dla Użytkowników Końcowych

Czasami jedynym sposobem, aby to nadpisać, jest naciśnięcie F12 i zmiana trybu dokumentu w zakładce Emulacja . To ustawienie nie jest jednak stałe i może zostać przywrócone po zamknięciu narzędzi programistycznych.

Możesz również spróbować wykluczyć swoją witrynę ze strefy intranetowej. Ale lista domen należących do strefy intranetowej jest zwykle również kontrolowana przez politykę grupową, więc szansa na to jest niewielka.

Aby zobaczyć listę domen należących do strefy intranetowej, przejdź do:

Narzędzia - > Opcje Internetowe -> Bezpieczeństwo -> Strony - > Zaawansowane

Jeśli lista zawiera Twoją subdomenę i jest wyszarzona, nie będziesz mógł zastąpić widoku zgodności, dopóki administrator sieci na to nie zezwoli.

Naprawdę musisz się skontaktować administrator sieci umożliwia zmianę ustawień widoku zgodności w profilu grupy.

Dla Administratorów Sieci

Ładowanie strony za pomocą narzędzi programistycznych open (F12) często zgłasza powód przełączania IE na starszy tryb.

Wszystkie 3 wyżej wymienione ustawienia są na ogół kontrolowane za pomocą zasad grupy, chociaż czasami mogą być nadpisane na komputerach użytkowników.

If Enterprise Mode jest problemem (jak się wydaje w przypadku oryginalny plakat), następujące dwa artykuły mogą być pomocne:

 20
Author: rustyx,
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-19 10:42:00

Dla tych, którzy budują ASP.NET projekt MVC, upewnij się, że dodajesz:

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

Oznacz stronę układu (szablonu). Właśnie spędziłem dwie godziny debugowania i poprawiania, tylko po to, aby zdać sobie sprawę, że dodałem tylko ten meta tag do moich stron potomnych. Jak tylko dodałem go do mojej strony układu, przeglądarka załadowała się w trybie krawędzi idealnie.

 8
Author: Jason Marsell,
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
2015-06-23 22:11:46

Zaznaczona odpowiedź jest prawidłowa. Jednak drogie, należy śledzić to z grupy ad i pulpitu admin. Nadużywają IE11 Enterprise Mode site list. Firma Microsoft nie zamierza w ogóle używać jej we wszystkich witrynach intranetowych w organizacji. Byłoby to propagowaniem istniejącego ustawienia "render all intranet sites in compatibility mode", które jest zmorą rozwoju witryny korporacyjnej na całym świecie.

Ma być zaimplementowana jako " Czarna lista", z garstką witryn, które faktycznie wymagają starszego trybu przeglądarki, wymienionych na liście tryb korporacyjny z określonymi wymaganiami renderowania. Wszystkie inne witryny w Twojej organizacji są następnie zwolnione z korzystania z usługi Edge. Osoby w Twojej organizacji, które wdrożyły go ze wszystkimi witrynami intranetowymi na początek, całkowicie źle zrozumiały, w jaki sposób ma zostać wdrożony tryb Enterprise.

 4
Author: ch1nmuzak,
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
2016-06-22 01:51:53

Pytanie jest trochę stare, ale właśnie rozwiązałem bardzo podobny problem. Mamy tu kilka witryn intranetowych, w tym tę, za którą jestem odpowiedzialny, a inne wymagają trybu zgodności lub się psują. Z tego powodu site rules domyślnie IE do trybu zgodności w witrynach intranetowych. Aktualizuję swoje własne rzeczy i już ich nie potrzebuję; w rzeczywistości niektóre funkcje, których próbuję użyć, nie wyglądają dobrze w trybie compat. Używam znacznika meta IE-Edge tak jak ty.

IE zakłada strony internetowe bez w pełni wykwalifikowanego adresu są intranet, i działa odpowiednio. Mając to na uwadze, po prostu zmieniłem wiązania W IIS, aby słuchać tylko adresu w pełni kwalifikowanego, a następnie skonfigurowałem fałszywą stronę internetową, która słuchała adresu bez kwalifikacji. Drugi przekierowuje cały ruch na adres w pełni kwalifikowany, dzięki czemu IE uważa, że jest to strona zewnętrzna. Witryna renderuje się poprawnie z trybem zgodności lub bez W Witrynach intranetowych zaznaczone pole.

 1
Author: Mike Anderson,
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
2015-01-09 16:45:00

To stary problem z dobrymi informacjami. Ale to, co właśnie znalazłem jest to, że za pomocą FQDN wyłącza Tryb Compat w IE 9 - 11. Przykład. Mam problem z compat
http://lrmstst01:8080/JavaWeb/login.do
ale problemy znikają z
http://lrmstst01.mydomain.int:8080/JavaWeb/login.do
Uwaga:. int jest częścią naszej domeny wewnętrznej

 1
Author: Dean P,
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
2015-08-03 21:08:55

Przenieś go do strefy Zaufane witryny, dodając go do listy Zaufane witryny lub ustawienia lokalne. Spowoduje to wyprowadzenie go ze strefy intranetowej i nie będzie renderowany w Compat. Widok.

 0
Author: Greg C.,
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
2015-07-14 13:20:37

Dodaj poniższą właściwość do sieci.plik konfiguracyjny dla witryn IIS. To działało dla mnie na moim intranecie w IE11.

<system.webServer>
  <httpProtocol>
    <customHeaders>
      <clear />
      <add name="X-UA-Compatible" value="IE=edge" />
    </customHeaders>
  </httpProtocol>
</system.webServer> 
 0
Author: user942620,
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
2016-08-17 14:31:41

Rozwiązałem ten problem, przekierowując użytkownika do FQDN serwera hostującego intranet.

IE prawdopodobnie wykorzystuje najgorszy na świecie algorytm do wykrywania stron "intranetowych"... rzeczywiście, określenie serwera.domena.tld rozwiązuje problem dla mnie.

Tak, czytasz to poprawnie, IE wykrywa intranet witryn nie przez prywatny adres IP, jak każdy dev, który słyszał o TCP / IP zrobi, nie, przez "host" część adresu URL, jeśli nie ma części domeny, musi być wewnętrzny.

Scary to know twórcy IE nie rozumieją najbardziej podstawowych pojęć TCP / IP.

Zauważ, że to było u dużego klienta korporacyjnego, zmuszanie ich do zmiany GPO dla Ciebie jest jak próba przesunięcia Alp na wschód o 4 metry, nic z tego.

 0
Author: thecarpy,
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
2016-10-16 06:24:10

Jeśli to coś warte, to też miałem ten problem w IE11:

  • byłem nie W trybie Enterprise.
  • zaznaczono opcję "Wyświetl witryny intranetowe w widoku zgodności".
  • miałem wszystkie ustawienia <!DOCTYPE html> i IE=Edge wymienione w pytaniu
  • nagłówek meta był rzeczywiście pierwszym elementem w elemencie <head>

Po chwili dowiedziałem się, że:

  • nagłówek User Agent wysłany do serwera to IE7 ale ...
  • the Wartość JavaScript to IE11!

Nagłówek HTTP :

User-Agent: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 10.0; WOW64; Trident/7.0; .NET4.0C; .NET4.0E) ale

JavaScript :

window.navigator.userAgent === 'Mozilla/5.0 (Windows NT 10.0; WOW64; Trident/7.0; .NET4.0C; .NET4.0E; rv:11.0) like Gecko'

Więc skończyło się na czeku po stronie klienta.

I BTW, tymczasem sprawdzanie user agent nie jest już zalecane. Zobacz https://developer.mozilla.org/en-US/docs/Web/HTTP/Browser_detection_using_the_user_agent (ale może być dobry przypadek)

 0
Author: Yann Vo,
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-18 14:30:49