Internet Explorer 10 nie próbuje już czytać komentarzy warunkowych.Oznacza to, że będzie traktować komentarze warunkowe tak, jak każda inna przeglądarka: jako zwykłe komentarze HTML, które mają być całkowicie ignorowane. Patrząc na znaczniki podane w pytaniu jako przykład, wszystkie przeglądarki, w tym IE10, całkowicie zignorują fragmenty komentarza, podświetlone na szaro. Standard HTML5 nie wspomina o warunkowej składni komentarzy i właśnie dlatego zdecydował się zaprzestać obsługi tego w IE10.
Należy jednak pamiętać, że kompilacja warunkowa w języku JScript jest nadal obsługiwana, jak pokazano w komentarzach, a także w nowszych odpowiedziach. W przeciwieństwie do tegojQuery.browser
, nie zniknie też w ostatecznej wersji . I oczywiście jest oczywiste, że węszenie klienta użytkownika pozostaje tak delikatne jak zawsze i nigdy nie powinno być używane w żadnych okolicznościach.
Jeśli naprawdę musisz celować w IE10, użyj kompilacji warunkowej, która może nadal być obsługiwana w najbliższej przyszłości, lub - jeśli możesz w tym pomóc - użyj biblioteki wykrywania funkcji, takiej jak Modernizr, zamiast (lub w połączeniu z) wykrywaniem przeglądarki. O ile twój przypadek użycia nie wymaga noscript lub dostosowania IE10 po stronie serwera, węszenie klienta użytkownika będzie bardziej uciążliwe niż opłacalna opcja.
Brzmi dość nieporęcznie, ale pamiętaj, że jako nowoczesna przeglądarka, która jest wysoce zgodna z dzisiejszymi standardami sieciowymi 1 , zakładając, że napisałeś kod interoperacyjny, który jest wysoce zgodny ze standardami, nie powinieneś odkładać na bok specjalnego kodu dla IE10, chyba że jest to absolutnie konieczne, tzn. ma przypominać inne przeglądarki pod względem zachowania i renderowania. 2 I brzmi to naciągane, biorąc pod uwagę historię IE, ale ile razy spodziewałeś się, że Firefox lub Chrome będą zachowywać się w ten sam sposób, tylko po to, by spotkać się z konsternacją?
- Firefox
box-sizing
od lat nie obsługuje unprefixed
- Firefox miał w przeszłości dziwne zachowanie zarysu i tak było przez lata
- Firefox odmawia rozsądnego zachowania, jeśli chodzi o pozycjonowane komórki tabeli , podając nieokreślone zachowanie jako wymówkę, podczas gdy inne przeglądarki wydają się dobrze sobie radzić
- Safari i Chrome mieć wiele z problemów z niektórych CSS selektorów , czasem z poprawek, które naprawdę zabierze Cię z powrotem do dobrego ol”dni IE5, IE6 i IE7
- Wygląda na to, że Chrome ma ogólnie wiele problemów w dziale przemalowywania, na przykład nieprawidłowy układ układów po zaktualizowaniu stylów multimediów; wygląda na to, że połowę błędów Chrome można obejść w prosty sposób i tylko przez wymuszenie odmalowania, ponownie rzeczy na poziomie IE5 / 6/7
- Kilka szczepów WebKit były znane wręcz kłamstwa o wsparcie dla niektórych funkcji, co oznacza, że faktycznie mechanizmy wykrywania funkcja porażka , wszystkich rzeczy
Jeśli zrobić mają uzasadnione powody do kierowania niektórych przeglądarek, za wszelką cenę wąchać je z innymi narzędziami podanych do Ciebie. Mówię tylko, że dziś będzie o wiele trudniej znaleźć taki powód niż to, co było kiedyś, i naprawdę nie jest to coś, na czym można polegać.
1 Nie tylko IE10, ale także IE9, a nawet IE8, który obsługuje większość dojrzałego standardu CSS2.1 znacznie lepiej niż Chrome, po prostu dlatego, że IE8 był tak skoncentrowany na zgodności ze standardami (w tym czasie CSS2.1 był już dość stabilny z niewielkimi różnicami z dzisiejszej rekomendacji), podczas gdy Chrome wydaje się być trochę więcej niż na wpół dopracowaną demonstracją techniczną nowatorskich pseudo-standardów.
2 I mogę być stronniczy, kiedy to mówię, ale to na pewno. Jeśli Twój kod działa w innych przeglądarkach, ale nie w IE, prawdopodobieństwo, że jest to problem z Twoim własnym kodem, a nie z IE10, jest znacznie większe w porównaniu z, powiedzmy, 3 lata temu, z poprzednimi wersjami IE. Znowu mogę być stronniczy, ale bądźmy szczerzy: czy ty też nie? Spójrz tylko na swoje komentarze.