2010-09-27 13 views
72

Utknąłem na tym przez chwilę - nie mogłem zrozumieć, dlaczego strona internetowa renderuje się inaczej w dwóch identycznych wersjach Internet Explorera. Pół godziny temu natknąłem się na przycisk trybu zgodności w IE, który bardzo mnie rozgniewał.Jak mogę programowo wyłączyć tryb zgodności IE?

Wyłączenie trybu zgodności naprawiło mój problem.

Czy istnieje sposób, aby wyłączyć to programowo, tj. Ze strony internetowej?

Edit:

Właśnie natknąłem tym blogu https://blogs.msdn.com/b/askie/archive/2009/03/23/understanding-compatibility-modes-in-internet-explorer-8.aspx

wyślę kod przykładowy, po przeczytaniu tego artykułu

+0

Zobacz http: // stackoverflow. com/questions/1014666/force-ie8-into-ie7-compatiblity-mode. Nie ma nic wspólnego z doctype. –

+0

Spodziewam się, że istnieje ustawienie Windows/IE, ale nic, co możesz zrobić ze strony internetowej, aby to narzucać, ponieważ chcesz pozostać w IE8, nie przejdź do trybu zgodności. –

+0

Nie jestem pewien, czy można to zrobić za pośrednictwem strony internetowej, lepiej jest kodować tryb zgodności IE (IE 7). :( – Spooks

Odpowiedz

88

Jeśli chcesz „starej” renderingu, a nie przycisk, aby pokazać się na pasku narzędzi, dzięki czemu użytkownicy mogą przełączać tryby można użyć tego:

<head> 
    <!-- Mimic Internet Explorer 7 --> 
    <meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7" > 
    <title>My Web Page</title> 
</head> 

inne opcje (starych i nowych) obejmują: IE=5 , IE=7, IE=8 lub IE=edge

(krawędź równa najwyższą dostępną Mode)

+0

Dziękuję - to działa, to nadal oznacza, że ​​muszę zmienić kod, aby działał w IE 7 .. –

+0

Czy jest coś szczególnego, co nie zadziała w trybie standardów IE8? Jeśli tak, opublikuj kolejne pytanie i może uda nam się to dla ciebie rozwiązać – scunliffe

+0

Jest to pozycjonowanie div. Czytałem gdzieś, że IE7 potrzebuje dodatkowych pikseli na lewy i prawy margines lub coś na tych linijkach. Strona wygląda świetnie w firefoxie, safari, chrome, a nawet ie 8 bez trybu zgodności ... ale IE 7 to inna historia –

4

Należy również pamiętać, że również ustawienia przeglądarki IE8 może wymusić pewien tryb. Mam klienta, który ma tryb zgodności IE8 narzucony przez politykę w trybie intranetowym.

+0

+1, to można egzekwować również w IE9. Prawdopodobnie we wszystkich nowszych wersjach IE. –

0

proszę dodać zmusić IE nie stosuje się trybu zgodności

<meta http-equiv=Content-Type content="text/html; charset=utf-8"> 
<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE8"> 
0

W moim przypadku, naprawić go, dodając następujący tag po tagu <head>:

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