6

Ich möchte einen bestimmten Code in jQuery ausführen, wenn der Browser niedriger als IE9 ist. Und ja, ich weiß schon überFühren Sie bestimmte Javascript wenn Browser lt ie9

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

Aber was ich will, ist diese Bedingung im scipt Tag zu überprüfen und mit jQuery document.ready

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

mögliches Duplikat von [IE-Version in Javascript erkennen] (http://stackoverflow.com/questions/10964966/detect-ie-version-in-javascript) – JJJ

+0

Haben Sie überlegt, Feature-Erkennung statt Browser-Erkennung zu verwenden? – Spudley

Antwort

14

Sie ältere Versionen von Internet Explorer ausrichten können (< = 9) durch Klassen auf dem <html> Element ...

<!--[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]--> 

... und dann prüfen, ob <html> die Klasse hat .lt9 oder .lt8 - was auch immer Version von Internet Explorer Sie zielen:

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

Allerdings würde ich vorschlagen, Modernizr Feature-Erkennung statt für einen bestimmten Browser zu überprüfen, verwenden.

+0

Dies ist der ausfallsicherste und zukunftssicherste Ansatz, der sich für IE in JavaScript und CSS * anbietet und * von allen anderen Browsern als HTML-Kommentare behandelt wird. –

2

Verwenden Sie die Funktionserkennung anstelle der Browsererkennung. d. h.

+2

Sehr geehrte _Aegis_, bitte vermeiden Link nur Antworten, weil wertvolle Informationen belost werden, wenn der Link veraltet ist. Stattdessen geben Sie hier eine zusätzliche Beschreibung Ihrer Kernidee. Danke! – Trinimon

+0

@Trimon: Bekannt;) – Aegis