Doctype HTML5 przełącza IE9 w tryb dziwactw?

101

Próbuję zmusić IE9 do załadowania mojej strony ze standardami IE9 ...

Zauważyłem, że <!DOCTYPE HTML>przestawiam to cholerstwo w tryb dziwactw ... Co prawie psuje wszystko na stronie ...

Jak sprawić, by IE trzymał się standardów IE9?

Abhishek
źródło
1
@EricLaw - co? Nie śledzę ...
Abhishek,
Jaki jest adres URL Twojej strony, na której występuje ten problem.
EricLaw
To wewnętrzna strona testowa, której używam ... Ale nvm, @David_Wick już odpowiedział na to pytanie ... :-)
Abhishek

Odpowiedzi:

134

Umiejscowienie:

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

w <head>tagu powinien to zrobić.

David Wick
źródło
1
Tak, to załatwiło sprawę ... Czy mógłbyś mi to trochę wyjaśnić?
Abhishek
8
@Abhishek: elementy meta nie muszą być jawnie zamykane w HTML5 (a historycznie w porównaniu ze starszymi specyfikacjami HTML, zamknięcie tego byłoby w rzeczywistości nieprawidłowe).
reisio
4
@reisio - Jeśli spojrzysz na historię, zobaczysz, że pierwotnie opuścił nawias zamykający ( >).
Shauna
Czy musi to być pierwszy czy jedyny metatag? Ponieważ jest tam i nadal domyślnie działa w trybie dziwactwa.
DeadlyChambers
2
Dowiedziałem się, że umieszczenie tego metatagu zaraz po tagu <head> będzie działać, podczas gdy umieszczenie go na dole <head> może nie działać, prawdopodobnie z powodu innych zakłóceń treści.
Paolo Mioni
63

Upewnij się, że nie masz żadnych komentarzy HTML przed deklaracją DOCTYPE, w przeciwnym razie IE9 użyje trybu dziwactw.

Samo umieszczenie <!DOCTYPE html>na samej górze strony bez niczego poprzedzającego powinno wystarczyć, aby IE9 używał trybu standardowego. Nie powinieneś również potrzebować metatagu.

zuallauz
źródło
1
@frumbert: poza tym, że sprawa ma komentarze przed deklaracją doctype, więc nie.
reisio
poza tym, że nie są one traktowane jako komentarze html, są to komentarze warunkowe, których IE (any) nie interpretuje jako części dom, podczas gdy komentarze html (te bez nawiasów kwadratowych) są traktowane jako dom, a więc za spacjami. Zależy od przypadku, używanej wersji języka ie i typu dokumentu.
frumbert
2
Nie, nie ma, powiedział zuallauz komentarze, a twoje przykłady mają komentarze (nie ma znaczenia, czy są to standardowy HTML, czy nie, lub interpretowane zgodnie z życzeniem tylko przez IE, czy nie).
reisio
4

Usuń nieobsługiwane komentarze, sprawdź np. Obsługiwane komentarze. I umieść w swojej głowie tag. Deklaracja typu dokumentu powinna być pierwszą linią w Twoim HTML.

Biswajit Chatterjee
źródło
0

Mam w głowie wspomniane na wszystkich stronach. Jednak po prostu wyświetla się poprawnie dla strony głównej, dla wszystkich innych stron strona jest nadal renderowana w trybie rozproszonym.

avinava basu
źródło