Javascript:句柄获取错误(document.createElement)
我正试图在我的文档中“包含”一个JS文件。它工作正常,但是当文件脱机时,它应该将变量设置为FALSE。我在谷歌上搜索了一下,但没找到。所以我试着用try/catch: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
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事件。如果它从未激发,则无法加载资源。