在try-catch块内的HTML文件中导入JavaScript文件

Import a JavaScript file in HTML file inside of try-catch block

本文关键字:文件 导入 JavaScript HTML try-catch      更新时间:2023-09-26

我有一个HTML页面,我想在其中导入一个JS文件,如下所示:

<script src="file.js" type="text/javascript" charset="utf-8"></script>

但是,如果这个文件无法运行其脚本,那么整个页面显然会被卡住。

我可以在try-catch块中导入该文件吗?

您可以监听错误(请参阅this

// make a script
var s = document.createElement('script');
// set it up
s.setAttribute('src',"file.js");
s.setAttribute('type',"text/javascript");
s.setAttribute('charset',"utf-8");
s.addEventListener('error', errorfunction, false);
// add to DOM
document.head.appendChild(s);

然后在errorfunction中找出发生了什么&试着像在catch 中那样修复它

您可以使用AJAX。这假设您有jQuery,但您可以很容易地避免使用它(在这里您可以找到许多教程中的一个)。这里有一个例子:

$.get("http://yoursite.com/file.js", function(data) {
    try {
       eval(data); //Run the JavaScript, which is equivalent to adding it
    }
    catch (err) {
       //handle errors
    }
});

希望这在任何方面都有所帮助!

您可以尝试类似的操作,或者创建JS元素并在该元素中设置src

document.write("<script src='"file.js'" type='"text/javascript'" charset='"utf-8'"></script>");