Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/google-chrome/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript:句柄获取错误(document.createElement)_Javascript_Google Chrome_Error Handling_Createelement - Fatal编程技术网

Javascript:句柄获取错误(document.createElement)

Javascript:句柄获取错误(document.createElement),javascript,google-chrome,error-handling,createelement,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.j

我正试图在我的文档中“包含”一个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

谢谢,,
马库斯

你有点做错了。在检查是否可以加载脚本源时,会有内置的
onload
onerror
事件,因此您不需要try/catch块,因为这些块用于脚本执行错误,而不是“404 file not found”错误,并且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);

当执行
catch
子句时,jdownloader将为
false
。你到底想要什么?你真的会抛出错误吗?难道这只是一个警告吗?因此,catch块将永远不会执行。您可以在script标记上使用onload事件。如果它从未激发,则无法加载资源。