2013-08-09 16 views
6

Chcę wykonać określony kod w jQuery, jeśli przeglądarka jest niższa niż IE9. I tak, już wiem oWykonaj niektóre javascript, jeśli przeglądarka lt ie

<!--[if ... IE ]> <![endif]--> 

Ale co chcę jest do sprawdzenia tego warunku w tagu skrypcie i jQuery document.ready

<script> 
    $(document).ready(function(){ 
     //code to check if lt ie9 
    }); 
</script> 
+0

możliwy duplikat [Wykryj wersję IE w JavaScript] (http://stackoverflow.com/questions/10964966/detect-ie-version-in-javascript) – JJJ

+0

Czy zastanawiałeś się nad wykorzystaniem wykrywania obiektów zamiast wykrywania przeglądarki? – Spudley

Odpowiedz

14

można kierować do starszych wersji Internet Explorera (< = 9) poprzez zajęcia na elemencie <html> ...

<!--[if lt IE 7]> <html class="ie ie6 lte9 lte8 lte7"> <![endif]--> 
<!--[if IE 7]>  <html class="ie ie7 lte9 lte8 lte7"> <![endif]--> 
<!--[if IE 8]>  <html class="ie ie8 lte9 lte8"> <![endif]--> 
<!--[if IE 9]>  <html class="ie ie9 lte9"> <![endif]--> 
<!--[if gt IE 9]> <html> <![endif]--> 
<!--[if !IE]><!--> <html>    <!--<![endif]--> 

... a potem sprawdzić, czy <html> ma klasę .lt9 lub .lt8 - niezależnie od wersji Internet Explorer są kierowane:

if($('html').hasClass('lte9')) { /* LTE IE9 */ } 

Chciałbym jednak zasugerować używając Modernizr wykrywanie funkcji zamiast sprawdzania konkretnej przeglądarce.

+0

Jest to najbardziej odporne na awarie i przyszłościowe podejście, które nadaje się do rozwidlania dla IE zarówno w JavaScript i CSS * i * jest traktowane jako komentarze HTML przez wszystkie inne przeglądarki. –

2

Użyj wykrywania obiektów zamiast wykrywania przeglądarki. tj. http://modernizr.com/

+2

Drogi _Aegis_, proszę unikać odpowiedzi tylko dla linków, ponieważ cenne informacje będą wyświetlane, gdy link jest nieaktualny. Zamiast tego podaj tutaj dodatkowy opis swojego podstawowego pomysłu. Dzięki! – Trinimon

+0

@Trimon: Noted;) – Aegis

Powiązane problemy