原生JS动态加载JS、CSS文件及代码脚本
2021-02-12 18:19
标签:chrome try app 嵌入式 代码 asc load 方式 zed 本文转载于猿2048:原生JS动态加载JS、CSS文件及代码脚本 原生JS动态加载JS、CSS文件及代码脚本 标签:chrome try app 嵌入式 代码 asc load 方式 zed 原文地址:https://www.cnblogs.com/homehtml/p/13028049.htmlDOM readyState属性共5中状态
uninitialized
:初始状态loading
:document加载中loaded
: document加载完成interactive
:已加载并可与用户交互,但还需要加载图片等其他资源complete
:全部资源加载完成
DOM文档加载顺序:
动态加载公共方法
var DynamciLoadUtil = {
// 动态加载外部js文件,并执行回调
loadJS: function(url, callback){
var script = document.createElement(‘script‘);
script.type = ‘text/javascript‘;
script.src = url;
if(typeof callback == ‘function‘){
script.onload = script.onreadystatechange = function(){
if(!this.readyState || this.readyState == ‘loaded‘
|| this.readyState == ‘complete‘){
callback();
script.onload = script.onreadystatechange = null;
}
}
}
document.body.appendChild(script);
//document.getElementsByTagName(‘body‘)[0].appendChild(script);
},
// 行内方式动态加载js代码
loadJSText: function(jsText){
var script = document.createElement(‘script‘);
script.type = ‘text/javascript‘;
try {
// Firefox,Safari,Chrome,Opera支持
script.appendChild(document.createTextNode(jsText));
} catch(ex){
// IE早期的浏览器,需要使用script的text属性来指定js代码
script.text = jsText;
}
document.body.appendChild(script);
},
// 动态加载外部CSS文件
loadCSS:function(url){
var link = document.createElement(‘link‘);
link.rel = ‘stylesheet‘;
link.type = ‘text/css‘;
link.url = url;
document.getElementsByTagName(‘head‘)[0].appendChild(link);
},
// 使用
文章标题:原生JS动态加载JS、CSS文件及代码脚本
文章链接:http://soscw.com/index.php/essay/54563.html