4

我正在尝试将 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?

谢谢你,马库斯

4

1 回答 1

7

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

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);
于 2013-10-04T13:06:32.340 回答