前端异步加载js且判断js是不是加载完成

矫情吗;* 2022-08-23 03:48 343阅读 0赞
  1. /**
  2. * 异步加载依赖的javascript文件
  3. * src:script的路径
  4. * callback:当外部的javascript文件被load的时候,执行的回调
  5. */
  6. function loadAsyncScript(src, callback) {
  7. var head = document.getElementsByTagName(“head”)[0];
  8. var script = document.createElement(“script”);
  9. script.setAttribute(“type”, “text/javascript”);
  10. script.setAttribute(“src”, src);
  11. script.setAttribute(“async”, true);
  12. script.setAttribute(“defer”, true);
  13. head.appendChild(script);
  14. //fuck ie! duck type
  15. if (document.all) {
  16. script.onreadystatechange = function() {
  17. var state = this.readyState;
  18. if (state === ‘loaded’ || state === ‘complete’) {
  19. callback();
  20. }
  21. }
  22. } else {
  23. //firefox, chrome
  24. script.onload = function() {
  25. callback();
  26. }
  27. }
  28. }

发表评论

表情:
评论列表 (有 0 条评论,343人围观)

还没有评论,来说两句吧...

相关阅读

    相关 异步js方案

    一直以来想整理一篇文章,关于异步加载js的方案,但因为平时比较忙,关键还是懒吧。。。一直拖到现在 有错误或者不当的地方欢迎大家指正哈 我们知道默认js加载时同步的,这意味着

    相关 JS异步

    js加载的缺点:加载工具方法没必要阻塞文档,过多js加载会影响页面效率,一旦网速不好,那么整个网站将等待js加载而不进行后续渲染等工作。 有些工具方法需要按需加载,用到再加载,

    相关 判断js完成

    判断js加载完成,(实现函数loadScript(url,callback)异步加载脚本,完成后执行回调函数,要求支持IE) 在“按需加载”的要求中,经常要判断当脚本加载完成