我正在按需加载多个脚本(取决于用户操作)。
我需要验证脚本是否已加载并呈现。
jQuery 解决方案:
var s = document.createElement('script');
s.type = 'text/javascript';
s.src = 'https://www.supercool.com/js.js';
s.id = 'awesomeId';
s.async = true;
document.getElementsByTagName('head')[0].appendChild(s);
$('#awesomeId').on('load', function () {
// do something
}).on('error', function () {
// do something else
});
或者普通的 JS 解决方案:
var s = document.createElement('script');
s.type = 'text/javascript';
s.src = 'https://www.supercool.com/js.js';
s.id = 'awesomeId';
s.async = true;
s.onload = function () {
// do something
};
s.onerror = function () {
// do something else
};
document.getElementsByTagName('head')[0].appendChild(s);
这些解决方案(如果有的话)之间的主要区别是什么(除了 jQuery 库)?
请注意:
- 我不想依赖特定文件中发布的某些变量。
- 这不是关于
$(element).load(...)
、$(document).ready()
、window 的重复问题.onload()
... - 网站支持IE8及以上版本
最佳答案
两者之间的唯一区别在于它们的编写方式。执行将以完全相同的方式执行。
关于javascript - $.on ('load' , ...).on ('error' , ...) 和 javascript .onload/.onerror 函数有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32884445/