博客
关于我
动态加载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/

你可能感兴趣的文章
mysql where中如何判断不为空
查看>>
MySQL Workbench 使用手册:从入门到精通
查看>>
mysql workbench6.3.5_MySQL Workbench
查看>>
MySQL Workbench安装教程以及菜单汉化
查看>>
MySQL Xtrabackup 安装、备份、恢复
查看>>
mysql [Err] 1436 - Thread stack overrun: 129464 bytes used of a 286720 byte stack, and 160000 bytes
查看>>
MySQL _ MySQL常用操作
查看>>
MySQL – 导出数据成csv
查看>>
MySQL —— 在CentOS9下安装MySQL
查看>>
MySQL —— 视图
查看>>
mysql 不区分大小写
查看>>
mysql 两列互转
查看>>
MySQL 中开启二进制日志(Binlog)
查看>>
MySQL 中文问题
查看>>
MySQL 中日志的面试题总结
查看>>
mysql 中的all,5分钟了解MySQL5.7中union all用法的黑科技
查看>>
MySQL 中的外键检查设置:SET FOREIGN_KEY_CHECKS = 1
查看>>
Mysql 中的日期时间字符串查询
查看>>
mysql 中索引的问题
查看>>
MySQL 中锁的面试题总结
查看>>