Erkennen, wenn IE7 oder niedriger) mit conditional comments und javascript nicht funktioniert
Ich versuche zu überprüfen, ob eine person mit irgendetwas IE mit version kleiner als 8 oder irgendetwas anderes.
Ich verwenden bedingter Kommentare zu deklarieren boolean..
<!--[if lt IE 8]>
<script type="text/javascript">var badIE = true;</script>
<![endif]-->
Und jetzt überprüfe ich in meiner js-Datei die Boolesche wie diese:
if (badIE == true){
alert('You have bad IE!');
} else {
alert('Bueno!');
}
Wenn ich mit IE7 oder IE6, warnt, dass "Sie haben schlechtes Internet Explorer!". Wenn ich etwas anderes, es sollte Warnung "Bueno!", aber es funktioniert nicht. Was ist das problem?
InformationsquelleAutor Badr Hari | 2011-04-11
Du musst angemeldet sein, um einen Kommentar abzugeben.
Müssen Sie erklären die
badIE
variable als false, um für Sie zu arbeiten, oder andernfalls der code außerhalb der Vorbehaltsware weiß nichts überbadIE
Versuchen Sie dies:
InformationsquelleAutor Neal
Nicht eine direkte Antwort (Neal hat Sie bedeckt), aber Sie können auch interessiert sein: http://code.google.com/p/ie7-js/
Aus der Seite:
Aber wenn Sie mit jQuery sind, halten Sie im Verstand, dass es nicht viele der gleichen Dinge wie diese Bibliothek.
Wenn Sie auf den link klicken, es tut zu decken .png! Coole Sachen.
InformationsquelleAutor entropo
Ihre bedingte Anweisung
<!--[if lt IE 8]> ... <![endif]-->
bedeutet, dass der code zwischen diesen wird nicht ausgeführt, wenn der web-browser ist nicht IE-version weniger als 8, was bedeutet, dassvar badIE
wird nie erklärt werden, für alle anderen Browser (z.B. FireFox, IE8, IE9, Safari, etc.)Weil es nie erklärt, sind Sie immer eine silent-scripting-Fehler in den hintergrund, wenn der browser versucht, die execute -
if (badIE == true){
, was bedeutet, dass der browser sofort Stoppt das Lesen des Skripts und nicht versuchen, führen Sie diealert('Bueno!');
- Anweisung.InformationsquelleAutor Devin Burke