解决因缓存问题导致新更改后的静态JS文件,部分功能缺失问题
/** 动态添加 script文件 urlList动态添加的数组 callback所有函数文件加载完后执行 */
function loadJs(urlList = [], callback = function () { console.log("无后续执行函数"); }) {
let promises = urlList.map(url => {
return new Promise((resolve, reject) => {
let script = document.createElement('script');
script.src = `${url}?v=${new Date().getTime()}`;
script.type = 'text/javascript';
script.onload = () => resolve(script);
script.onerror = () => reject(new Error('Script load error for ' + url));
document.head.append(script);
});
});
Promise.all(promises).then(() => {
// 所有script加载并执行完毕后的操作
console.log('All scripts loaded');
callback();
}).catch(err => {
// 处理错误
console.error('Error loading scripts', err);
});
}
使用 一般情况搭配 onload事件
let pageJs = ['../js/bigdata/jquery-3.5.1.min.js', '../js/vue.js', '../layuiAdmin.v1.2.1/layuiadmin/layui/layui.js',]
window.onload = function () {
loadJs(pageJs, initVue)
}