Używam nowych narzędzi programistycznych Internet Explorer 11 , aby przełączyć tryb dokumentu na „8”, ale komentarze warunkowe są nadal ignorowane, to znaczy nie są prawidłowo analizowane i zachowują się jak normalne komentarze. Dlatego przeglądarka nie żąda / nie ładuje żadnego pliku, do którego istnieje odniesienie w komentarzu warunkowym.
Dlaczego to się dzieje? Czy to błąd?
Jeśli uważasz, że jest to rzeczywiście błąd, który należy naprawić, wejdź i powiedz, że również możesz to odtworzyć w raporcie o błędzie firmy Microsoft zgłoszonym dla tego problemu:
Komentarze warunkowe nie działają podczas emulacji trybów dokumentów za pomocą F12 Developer Narzędzia .
Aktualizacja: zgłoszono, że ten problem został naprawiony we wspomnianym zgłoszeniu błędu.
źródło
Odpowiedzi:
według do
Jacob Rossi [MSFT]
To zostało opublikowane 22 kwietnia 2014 r.
Po przeprowadzeniu kilku testów wydaje się, że problem został naprawiony i wszystko znów działa płynnie, aby przetestować najbardziej niesamowitą przeglądarkę, jaką kiedykolwiek wyprodukowano ... Internet Explorer!
źródło
Właśnie próbowałem użyć tego w przeglądarce Internet Explorer 11 w systemie Windows 7, aby upewnić się, że moje używane elementy semantyczne HTML5 zostały utworzone dla przeglądarki Internet Explorer 8 i starszych (za pośrednictwem komentarzy warunkowych), a przeglądarka po prostu je ignoruje. -_-
Ta funkcja działała doskonale w przeglądarce Internet Explorer 10 , a Microsoft musiał po prostu przy niej majstrować, prawda?
Poza tym lubię przeglądarkę Internet Explorer, co stanowi zmianę.
źródło
To zadziałało dla mnie i wydaje się najbardziej eleganckim / łatwym rozwiązaniem (wydaje mi się, że Internet Explorer 10 i Internet Explorer 11 są jedynymi obsługiwanymi przeglądarkami
-ms-high-contract
):źródło
Niedawno napotkałem ten sam problem. Zauważyłem również, że działają niektóre komentarze warunkowe:
gt
ilt
działało dobrzegte
ilte
nigdy nie pracowałZatem jednym z potencjalnych rozwiązań byłaby zmiana instrukcji warunkowych tak, aby używały operatorów
gt
ilt
.Inną alternatywą, która okazała się bardziej użyteczna, było skorzystanie z usługi takiej jak browserstack .
źródło
Mam na to inne rozwiązanie.
Internet Explorer 11 z włączonym trybem zgodności Internet Explorer 8 zawiera ciąg „MSIE 8.0”, więc:
(Przykład PHP)
źródło
Miałem ten sam problem - przez cały ranek doprowadzał mnie do szału. Dodałem Modernizr i wybrałem wszystkie opcje, w tym yepnope.js.
Więc teraz mój test wygląda tak:
W tym przypadku testuję pod kątem kanwy (która nie jest obsługiwana przed Internet Explorerem 9), więc ładuję zawartość warunkową. Działa to teraz podczas przełączania trybów przeglądarki w narzędziach programistycznych programu Internet Explorer 11.
źródło
Nie widziałem tego tutaj, ale w tym zgłoszeniu błędu zauważono, że jeśli zmienisz ustawienia widoku zgodności, komentarze warunkowe będą działać zgodnie z oczekiwaniami. Więc:
Wydaje się, że teraz działa dobrze na moim hoście lokalnym. Nie testowałem tego obszernie ale może komuś to pomoże.
źródło
Niektóre komentarze warunkowe, takie jak „
gt
” i „lt
”, działają, ale na przykład<!--[if IE 8]>
nie działają. Z pewnością jest to niewygodne dla programistów, którzy chcą sprawdzić, jak ich strony internetowe wyglądają w różnych wersjach przeglądarek Internet Explorer, ale to nie wszystko jest złe.Chociaż warunkowe komentarze nie działają, nadal możesz przetestować wygląd strony internetowej w każdej z wersji Internet Explorera, dołączając arkusze stylów jeden po drugim: załóżmy, że masz arkusz stylów dla przeglądarki Firefox, Chrome, Internet Explorer 10 i Internet Explorer 11 o nazwie „
screen.css
”, a inny arkusz stylów o nazwie „screen-ie9.css
” TYLKO dla przeglądarki Internet Explorer 9, a inny arkusz TYLKO dla przeglądarki Internet Explorer 8 o nazwie „screen-ie8.css
”.Aby przetestować swoje strony internetowe TYLKO pod kątem przeglądarki Internet Explorer 9, możesz to zrobić:
aw narzędziach deweloperskich F12 w sekcji Emulacja ustaw „Tryb dokumentu” na „9”, a „Ciąg agenta użytkownika” na „Internet Explorer 9”. Tryb dokumentu to standard używany przez Internet Explorer 9, a ciąg agenta użytkownika to sama przeglądarka.
PS: Zakładam, że „
screen.css
” jest twoim podstawowym arkuszem stylów i jest powodem, dla którego nazywam go najpierw niż „nadpisywanie” poprawek Internet Explorera 9 później, wywołując „screen-ie9.css
” drugie.Robiąc to, możesz być „pewien” (muszę przetestować maszyny wirtualne, aby napisać słowo „pewny” bez cudzysłowu), że przeglądasz swoją stronę internetową w przeglądarce Internet Explorer 9. Po zakończeniu testowania i określania stylu w przeglądarce Internet Explorer 9 i zechcesz przetestować w przeglądarce Internet Explorer 8, możesz łatwo zrobić tę samą sztuczkę, zastępując to:
z tym:
Jest to więc tylko kwestia MNIEJSZYCH niedogodności ze strony Microsoftu, ALE nowe narzędzia programistów F12 oferują WIELE niesamowitych funkcji, co sprawia, że nie jest to aż tak wielka sprawa.
źródło