Javascript:处理GET错误(document.createElement)

时间:2013-10-04 13:02:14

标签: javascript google-chrome error-handling createelement

我正在尝试在我的文档中“包含”一个JS文件。它工作正常,但是当文件脱机时,它应该将变量设置为FALSE。我用谷歌搜索了,但我没有得到它。所以我尝试使用try / catch:

    try {
      var jq = document.createElement('script');
      //jq.onload = put;
      jq.type = 'text/javascript';
      jq.src = 'http://127.0.0.1:9666/jdcheck.js';
      document.getElementsByTagName('head')[0].appendChild(jq);
    }
    catch(e) {
    console.log('An error has occurred: '+e.message);
        jdownloader = false;

    }

它只是抛出了错误

  Failed to load resource http://127.0.0.1:9666/jdcheck.js

如何将var设置为FALSE?

谢谢你, 马库斯

1 个答案:

答案 0 :(得分:7)

你做错了。在检查是否可以加载脚本源时,内置onloadonerror事件,因此您不需要try / catch块,因为这些是脚本执行错误,而不是404“找不到404文件”错误,并且404不会执行catch部分:

var jq = document.createElement('script');
jq.onload = function() {
    // script loaded successfully
}

jq.onerror = function() {
    // script error
}

jq.type = 'text/javascript';
jq.src = 'http://127.0.0.1:9666/jdcheck.js';
document.getElementsByTagName('head')[0].appendChild(jq);