100字范文,内容丰富有趣,生活中的好帮手!
100字范文 > 动态加载 js 和 css 文件

动态加载 js 和 css 文件

时间:2022-05-28 06:14:08

相关推荐

动态加载 js 和 css 文件

动态加载 js 和 css 文件

场景

是这样的,我使用了一个编辑器的插件,但是需要用到关于代码高亮的js和css,文件内容太大, 下载到项目内打包后太占地方了。

于是就想着能不能动态加载,只在用编辑器的时候在按需加载这样的话用了远程的文件,也省了自己的带宽

开始整

想要加载js,就需要给添加script元素

/*** 动态加载js*/function loadScript(url, callback) {let scriptDom = document.createElement("script")scriptDom.src = url;scriptDom.onload = () => {console.log("加载成功");callback(true)}scriptDom.onerror = () => {console.log("加载失败");callback(false)}document.body.appendChild(scriptDom)}

搞定,我们来测试下

let url = "/ajax/libs/vue/2.7.4/vue.min.js";loadScript(url,()=>{console.log(Vue);})// 加载成功// ƒ wr(t){this._init(t)}

就是这样简单,举一反三,写一个css的

/*** 动态加载css*/function loadCss(url, callback) {let linkDom = document.createElement("link")linkDom.href = url;linkDom.rel = "stylesheet";linkDom.onload = () => {console.log("加载成功");callback(true)}linkDom.onerror = () => {console.log("加载失败");callback(false)}document.head.appendChild(linkDom)}

思考

以上的写法是可以功能的,但是还不够完善。

已经加载了二次加载怎么办。是不是这里可以结合jsonp提升以下。加载完成后,Child是否可以删除掉。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。