如何解决如何测试是否从 CDN 成功加载了某个 javascript 库?
从 CDN 下载 javascript 文件时,我想提供本地后备。然而,如何测试某个加载是否成功对我来说并不总是很明显。
对于一些流行的东西,这在其他 StackOverflow 问题中有详细记录,例如对于 Bootstrap one,分别测试 if (window.jQuery)
、if (window.Popper)
、if ($.fn.modal)
的三个部分。但是,对于其他库,这不太明显:
- 对于 jQuery Validate,我发现了相互矛盾的信息:this topic 表示可以执行
if (window.validator)
,this one 表示需要if(typeof $().validate == 'undefined')
。这些之间有什么区别,为什么我需要一个而不是另一个? - 对于不太流行的图书馆,例如balanceText,我应该如何确定库是否成功加载?
一个通用的答案/方法将是完美的,但如果这不可行,我会很感激这两个库的答案。
解决方法
如果您自己使用加载脚本,您可以使用 script
元素上的 onerror
事件来查看脚本是否加载,而不是检查副作用。示例:
<script>
function cdnLoaded() {
console.log('loaded');
}
function cdnError() {
console.log('not loaded');
// do error handling here
}
</script>
<script onload="cdnLoaded()" onerror="cdnError()" async src="https://unpkg.com/react@17.0.1/umd/react.production.min.js"></script>
<script onload="cdnLoaded()" onerror="cdnError()" async src="https://unpkg.com/nothing-here.js"></script>
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。