2017-03-02 14 views
1

私はJquery 2.xで動作しているWebサイトを持っています。これはIE 9以降とChromeとFirefoxでサポートされています。しかし、私は、WebサイトがIE 8で動作するようにしたい。ブラウザに応じて異なるバージョンのjqueryを読み込む

Javery 2.xをアンロードして1.xをIE 8だけロードするにはどうすればよいですか?

私は、以下のものを使用して試してみました:

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

しかし、両方のバージョンは、この場合にはロードされます。

+1

[IEのバージョンによって異なるスクリプトのバージョンを読み込む](http://stackoverflow.com/questions/19315947/loading-different-scripts-versions-depending-on-ie-version) - 可能性がありますいくつかの命令を組み合わせます: '[if IE 9]'と '[if IE 8]'など。これらはうまくいくはずです。両方のバージョンがまだロードされていれば、あなたはどこかに参照があるかもしれません。おそらく。 – Nope

答えて

0

あなたがやったように、ブラウザはIE8であるかどうかを確認するための条件を使用してみてください、と<html>要素にクラスを追加します。

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

その後、<html>場合はJavaScriptコードでは、あなたが簡単に確認することができますこの方法は、しかし、非常に遅くなる可能性があることを

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); 

注:要素は、古いブラウザ用に指定され、そのように、あなたのページの<head>内の動的スクリプトをロードするクラスがあります。

関連する問題