2011-07-07 8 views
4

ちょうどIE9と本当に奇妙なものに出会いました(どのように変わった?)jQueryの動的なスクリプトタグの付加は、SRCを要求するためにIE9の原因となる二回

私は、クロスドメイン制限を克服し、ローカルホスト

上で動作するJavaScriptをロードするために、次のコードを持っています
var url = 'http://local.maglnk.com:45099/download/?info_hash='+info_hash; 
var scriptTag = $('<script />').attr('src',url); 
scriptTag.appendTo('body'); 

このコードは、IE9以外のブラウザで正常に動作し、それに奇妙なことは、IE9は二回スクリプトタグのURLを要求していることであり、それはそれをしないことを二回目は、それは、タイムスタンプのいくつかの並べ替えを追加URLの末尾

http://local.maglnk.com:45099/download/?info_hash=6eabb12b8bf344feba7d323c940c18d096771b99&_=1309998922080) 

スクリプトタグを動的に追加するとき、またはIEが何らかのプリフェッチまたはプリ解析を行っている場合にjQueryによって後続の「& _ = 1309998922080」が追加されるかどうかはわかりませんjavascriptを介してそのメカニズムを停止する方法があるかどうかここに尋ねる。

このようなことが起こったことがある場合は、行を削除してください。

+0

あなたは '$( 'ます。

3

とにかくjQueryを使用している場合は、jQuery.getScriptを使用しないでください。

0

$.getScript()は、ロードされたjavascriptファイルの順序を乱す可能性があるため、適切でない場合があります。それは非同期であるからです。動的に読み込まれたJavaScriptファイルが相互に依存していると、問題が発生します。その場合

は、あなたがこれを行うことになるでしょう:

$(document.body).append($('<script src="hello.js"></script>'));

関連する問題