19

Używam doctype HTML5 z X-UA-Compatible meta tagu blisko szczytu:Siła Internet Explorer 9 używać IE 9 Tryb

<!DOCTYPE html> 
<!--[if lt IE 7]> <html lang="en-us" class="ie6"> <![endif]--> 
<!--[if IE 7]> <html lang="en-us" class="ie7"> <![endif]--> 
<!--[if IE 8]> <html lang="en-us" class="ie8"> <![endif]--> 
<!--[if gt IE 8]><!--> <html lang="en-us"> <!--<![endif]--> 
<head> 
    <meta charset="utf-8"> 
    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> 
    ... 

Ale Internet Explorer 9 dla niektórych użytkowników renderuje stronę w widok zgodności. Podejrzewam, że tak jest, ponieważ mają włączoną opcję "Wyświetl wszystkie witryny w widoku zgodności". Czy istnieje sposób zmuszenia IE9 do korzystania z przeglądarki IE9 i trybu dokumentu?

+1

Dla tych, którzy nie mogą korzystać z nagłówka HTTP: Czytałem, że 'http-equiv = "Metatag" musi być znacznikiem ** bardzo pierwszym ** w sekcji "". Kolejność nagłówków HTTP nie jest ważna. – netzaffin

+0

Dopiero dodanie zrobi;) Dla np:

Odpowiedz

25

Okazuje się, że rozwiązaniem jest ustawienie X-UA-Compatible w nagłówku HTTP, a nie w HTML:

X-UA-Compatible: IE=edge,chrome=1 

To zmusi Internet Explorer do najnowszej silnik renderujący, nawet jeśli " Wyświetl wszystkie witryny w widoku zgodności "jest włączony.

+0

Zawarłem ten ciąg w meta, jak sugeruje wiele stron, ale nie miało to żadnego wpływu. Umieszczenie go w nagłówku HTTP wydaje się być jedynym sposobem, który działa niezawodnie. –

+0

Tak, doszedłem do tego samego wniosku. Musi być zadeklarowany w nagłówku HTTP. –

+0

Co rozumiesz przez nagłówek http, mam ten sam problem, jeśli umieściłem go w meta w sekcji head, nic się nie dzieje – shorif2000

10

Jest również pracuje z tym w <head> w html:

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

To nie działa dla mnie. Dodanie nagłówka w powyższej odpowiedzi było jedynym rozwiązaniem. – davidjb

0

@netzaffin ma rację - jeśli X-UA-Compatible to pierwszy meta tag w sekcji HEAD, IE9 działa.

3

proszę dołączyć w sekcji head witryny, mam nadzieję, że pomaga.

<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" /> 
<meta http-equiv="X-UA-Compatible" content="IE=5, IE=7, IE=8, IE=9, IE=10" /> 
<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7" /> 
<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE8" /> 
<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE9" /> 
<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE10" /> 
1

Jak JohnnyO mówi, że musi zostać wysłany jako nagłówek. W PHP dodać to (zanim jakakolwiek inna wyjściowy jest wysyłany):

<?php header('X-UA-Compatible: IE=edge,chrome=1'); ?> 

w Wordpress to prawdopodobnie najlepiej będzie, jeśli można umieścić go jako pierwszy linię w pliku header.php tak długo, jak nie ma żadnego wyjścia (lub błędy) przed wyrenderowaniem tego pliku powinno działać.

Jeśli błędy jest wysyłany do przeglądarki może chcesz powiedzieć błędy być zalogowany, a nie tylko wyjście do ekranu, dodając coś podobnego do aplikacji:

ini_set('display_errors', 0); 
ini_set('log_errors', 1); 

w WordPress, które mogłyby być dodano u góry pliku wp-config.php.

Jeśli masz włączone buforowanie z czymś takim jak WP SuperCache lub W3 Total Cache wszystkie zakłady są wyłączone, jeśli chodzi o zachowanie Twojej witryny - musisz znaleźć sposób na dodanie dodatkowych nagłówków za pomocą wtyczki do buforowania.

0

Dopiero dodanie

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

zrobi;)

Dla np

<!DOCTYPE html> 
<html lang="en-US" class="css3transitions"> 
<meta http-equiv="content-type" content="text/html;charset=UTF-8" /> 
<head> 
<meta charset="UTF-8" /> 
<meta http-equiv="X-UA-Compatible" content="IE=edge" /> 
+1

Dlaczego ten metatag typu zawartości znajduje się poza nagłówkiem? –