博客
关于我
动态加载js的异步与同步方法
阅读量:287 次
发布时间:2019-03-01

本文共 1237 字,大约阅读时间需要 4 分钟。

同步加载(会阻塞后续代码执行)

loadAsyncScript(src, callback = function () {}) { // 同步加载js        const head = document.getElementsByTagName('head')[0];        const script = document.createElement('script');        script.setAttribute('type', 'text/javascript');        script.setAttribute('src', src);        script.setAttribute('async', true);        script.setAttribute('defer', true);        head.appendChild(script);        if (script.readyState) { // ie            script.onreadystatechange = function () {                var state = this.readyState;                if (state === 'loaded' || state === 'complete') {                    callback();                }            }        } else {            script.onload = function () {                callback();            }        }    },

异步加载JS 

loadJS(src) { // 异步加载js        const s = document.createElement('script');        s.setAttribute('src', src);        s.setAttribute('charset', 'utf-8');        document.body.appendChild(s);    },

使用例子

loadAsyncScript("__SYS_GLOBAL_URL__static/app/js/tvp.player_v2_zepto.js", function () {            loadAsyncScript("__SYS_GLOBAL_URL__static/app/js/video.js", function () {                _player = new MyPlayer(pageGlobal)            });        });

 

转载地址:http://kwuo.baihongyu.com/

你可能感兴趣的文章
MSSQL数据库查询优化(一)
查看>>
MSSQL日期格式转换函数(使用CONVERT)
查看>>
MSTP多生成树协议(第二课)
查看>>
MSTP是什么?有哪些专有名词?
查看>>
Mstsc 远程桌面链接 And 网络映射
查看>>
Myeclipse常用快捷键
查看>>
MyEclipse用(JDBC)连接SQL出现的问题~
查看>>
myeclipse的新建severlet不见解决方法
查看>>
MyEclipse设置当前行背景颜色、选中单词前景色、背景色
查看>>
MyEclipse配置SVN
查看>>
MTCNN 人脸检测
查看>>
MyEcplise中SpringBoot怎样定制启动banner?
查看>>
MyPython
查看>>
MTD技术介绍
查看>>
mysql
查看>>
MTK Android 如何获取系统权限
查看>>
MySQL - 4种基本索引、聚簇索引和非聚索引、索引失效情况、SQL 优化
查看>>
MySQL - ERROR 1406
查看>>
mysql - 视图
查看>>
MySQL - 解读MySQL事务与锁机制
查看>>