$.on('load',…).on('error',…)和javascript .onl

What is the difference between $.on('load', ...).on('error', ...) and javascript .onload/.onerror functions?

本文关键字:on javascript onl load error      更新时间:2023-09-26

我正在按需加载几个脚本(取决于用户的操作)。

我需要验证脚本是否被加载和渲染。

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库)是什么?

请注意:

  1. 我不想依赖某个特定文件中的变量。
  2. 这个问题不是重复的,关于$(element).load(...), $(document).ready(), window.onload()
  3. 网站支持IE8及以上版本

两者之间唯一的区别是它们的书写方式。执行将以完全相同的方式执行