スクリプトが完全にロードされた後に何かをしようとしています。(IE8)
テストに使用するスクリプト: http://ajax.googleapis.com/ajax/libs/jquery/1.5.1/jquery.min.js
および無効なもの: http://ajax.googleapis.com/ajax/libs/ jquery/1.5.1/jquery.minaaaaaaa.js
コード...
var script = create the element and append to head...
// this works fine with FF/Chrome/...
script.onload = function() {alert('script loading complete');}
script.onerror = function() {alert('error loading script');}
// and for IE
script.onreadystatechange = function() {
// this will alert 1.loading 2.loaded
alert(this.readyState);
// this never works
if(this.readyState == 'complete') {alert('script loading complete');}
// this works with either a valid or INVALID url
else if(this.readyState == 'loaded') {alert('script loaded');}
};
私の場合、「完了」は表示されず、URLが無効であっても「ロード済み」が表示されます。したがって、スクリプトが IE に正しくロードされているかどうかを判断する方法はありません。
私は何か間違ったことをしていますか?完全な状態を取得できないのはなぜですか?
アップデート
OK、いくつかの記事を読みましたが、readystate はスクリプトの読み込みを検出する信頼できる方法ではないようです。
そうする別の方法はありますか?jQuery を使用せず、純粋な Javascript を使用します。