2017-03-02 3 views
1

Ich habe eine Website, die auf JQuery 2.x. läuft Dies wird von IE 9+ und Chrome und Firefox unterstützt. Aber ich möchte, dass die Website mit IE 8.Laden verschiedene Versionen von jquery auf je nach Browser

arbeiten Wie kann ich JQuery 2.x und 1.x Last für nur IE 8 entladen?

Ich habe versucht, mit dem folgenden:

<!--[if lt IE 9]> 
     <script src="https://code.jquery.com/jquery-1.12.4.min.js"></script> 
<![endif]--> 

Aber beide Versionen werden in diesem Fall laden.

+1

Mögliches Duplikat [verschiedene Schriften Versionen laden auf IE-Version abhängig] (http://stackoverflow.com/questions/19315947/loading-different-scripts-versions-depending-on-ie-version) - Möglicherweise braucht Kombiniere ein paar Anweisungen, zB: '[if IE IE 9]' mit '[if IE 8]' etc .. Das sollte funktionieren und wenn beide Versionen noch geladen werden, hast du vielleicht irgendwo einen Verweis oder der Browser benutzt eine gechachte Version möglicherweise. – Nope

Antwort

0

Versuchen eine Bedingung zu überprüfen, ob der Browser IE8 ist, wie Sie haben, und eine Klasse zum <html> Elemente hinzufügen:

<!--[if IE 8]> <html class="ie8"> <![endif]--> 
<!--[if gt IE 8]><!--> <html> <!--<![endif]--> 

Dann in Ihrem Javascript-Code, können Sie leicht prüfen, ob die <html> Element hat die Klasse für älteren Browser angegeben und das Skript dynamisch lädt innerhalb Ihrer Seite <head>, etwa so:

var head = document.getElementsByTagName('head')[0]; 
var script = document.createElement('script'); 
if(document.getElementsByTagName('html')[0].className == 'ie8') 
    script.src = "jquery_1.x.js"; 
else 
    script.src = "jquery_2.x.js";  
script.type = 'text/javascript'; 
head.appendChild(script); 

Beachten Sie, dass diese Methode könnte sehr langsam sein, aber.

Verwandte Themen