1

document.write我正在尝试使用 java 脚本代码方法将 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

尝试jQuery.getScript( url [, success(script, textStatus, jqXHR)] )- 您可以在其中设置成功和错误处理程序。

于 2012-09-26T11:09:09.950 回答
0

如果请求的文件在您的域中(从问题看来),只需HEAD对该资源进行先前的 ajax 调用(使用方法)并检查响应状态是200(正常)还是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 回答