javascript - $.on ('load' , ...).on ('error' , ...) 和 javascript .onload/.onerror 函数有什么区别?

标签 javascript jquery

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

我需要验证脚本是否已加载并呈现。

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及以上版本

最佳答案

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

关于javascript - $.on ('load' , ...).on ('error' , ...) 和 javascript .onload/.onerror 函数有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32884445/

相关文章:

javascript - Storybook 可选 Prop force undefined

javascript - Sprite 不显示渲染到纹理贴图/渲染目标贴图

javascript - angular 中的 ng-init 不起作用

javascript - 使用 AngularJS "copy()"来避免引用问题

jquery - youtube chromeless缩放播放器

javascript - 如何将安全 Web 套接字与 mosquitto 和 JS 一起使用?

javascript - Rails,点击 link_to 帮助程序后 javascript 未加载

javascript - 将事件类添加到导航中的 ul 列表

javascript - a = an; 有什么意义?分析 jQuery 源代码

javascript - 使用 jQuery 在图像单击上打开日期选择器