1

document.writeJava スクリプト コードメソッドを使用して、別のサーバーから Web ページに Java スクリプト ファイルをロードしようとしています。お気に入り、

document.write("<script type='text/javascript' src='http://www.mydomain.com/js/myscript.js'></script>");

しかし、それぞれのパスには myscript.js がないため404 File not found error、ブラウザのエラー コンソールにスローされます。

この種のエラーを予測して回避するにはどうすればよいですか?

エラーを予測できる場合は、欠落している js ファイル関数を呼び出す代わりに、代替メッセージを表示します。

4

4 に答える 4

2

JavaScript を使用してスクリプトをロードします。

function onReadyState() {
    console.error("Unable to load file: "+ this.src + ". Please check the file name and parh.");
    return false;
}  

function addJS(path){
    var e = document.createElement("script");
    e.onerror  = onReadyState;
    e.src = path;
    e.type = "text/javascript";
    document.getElementsByTagName('head')[0].appendChild(e);
}

addJS('http://www.mydomain.com/js/myscript.js');
于 2012-09-26T11:10:05.640 に答える
1

Try jQuery.getScript( url [, success(script, textStatus, jqXHR)] )- 成功およびエラー ハンドラを設定できます。

于 2012-09-26T11:09:09.950 に答える
0

要求されたファイルがドメイン内にある場合 (質問からわかるようにHEAD)、そのリソースの以前の ajax 呼び出し (メソッドを使用) を実行し、応答ステータスが200(ok) または304(変更されていません) であるかどうかを確認します。

于 2012-09-26T11:12:43.767 に答える
0

このアプローチを試してください

   var js="ajax/test.js";

    $.getScript(js) .done(function(script, textStatus) {
          var script = document.createElement( 'script' );
          script.type = 'text/javascript';
          script.src = js;
          document.body.appendChild(script);;
    })

詳細については: jQuery.getScript

ご注意ください:Use javascript (not jQuery) to manipulate HTML DOM

于 2012-09-26T11:14:17.933 に答える