在某个页面需要动态加载 jQuery,等到 jQuery 加载完成后再执行后续代码。但是我不想把后续代码放到 ajax 请求的回调函数里,因为后续代码有几千行,而且都是顶层的,我不希望在它们外部加上一层嵌套。求解该如何处理?
if (typeof jQuery === 'undefined') { fetch('https://code.jquery.com/jquery-2.0.3.min.js', {
method: 'get'
})
.then(function (response) {
response.text()
.then(function (data) {
let element = document.createElement('script');
element.setAttribute('type', 'text/javascript');
element.innerHTML = data;
document.head.appendChild(element);
console.log(typeof jQuery);
// 检查 typeof jQuery 为 function 之后再执行外部的代码。
});
});
}
// 外部代码,如:
console.log('jquery loaded');
ajax 请求可以不用 fetch,但是需要用异步。也可以改成设置 script 的 src 的方式来加载 jQuery。主要是不让后面的代码再加一层嵌套。可能也算是强迫症吧,求教~
慕少森
相关分类