思路是等所有DOM加载完毕再引用外部JS,这里使用VUE3的nextTick,并放在生命周期的mounted中实现
一、先定义一个加载函数
//加载函数
function loadScript(url,type) {
var script = document.createElement("script");
script.type = type;
script.async = "async";
script.src = url;
document.body.appendChild(script);
if (script.readyState) {
//IE
script.onreadystatechange = function () {
if (script.readyState == "complete" || script.readyState == "loaded") {
script.onreadystatechange = null;
loadnum++;
}
};
} else {
//非IE
script.onload = function () {
loadnum++;
};
}
}
二、在VUE的mounted中通过nextTick引用上面的函数
mounted(){
//所有Dom加载完毕后执行
this.$nextTick(()=>{
loadScript("/dist/prism.js","text/javascript")
})
}
©2023 东海县一品网络技术有限公司 版权所有