将HTML文件中的JavaScript文件导入到try-catch块中。

问题描述 投票:7回答:3

我有一个HTML页面,我想导入一个JS文件,如下图。

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

但是如果这个文件不能运行它的脚本,整个页面显然会卡住。

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

javascript html try-catch
3个回答
5
投票

你可以监听一个错误(见 这个)

// 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


-1
投票

您可以使用 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
    }
});

希望对你有帮助


-1
投票

你可以试试类似的东西,或者创建JS元素,然后在这个元素里面设置src。

document.write("<script src=\"file.js\" type=\"text/javascript\" charset=\"utf-8\"></script>");
© www.soinside.com 2019 - 2024. All rights reserved.