使用以下功能动态加载CDN脚本以减少加载时间,如何在JS单元测试用例中进行介绍。
function loadAsync(src, callback) {
var script = document.createElement('script');
script.src = src;
if (callback !== null) {
if (script.readyState) { // IE, incl. IE9
script.onreadystatechange = function() {
if (script.readyState === 'loaded' || script.readyState === 'complete') {
script.onreadystatechange = null;
callback();
}
};
} else {
script.onload = function() { // Other browsers
callback();
};
}
}
document.getElementsByTagName('head')[0].appendChild(script);
}
在上面的函数中,动态添加了脚本标记,它处于就绪状态,并且在onload状态下绑定了一些要加载的回调,这些不会自动覆盖,如何为该动态元素编写模拟。
函数调用
loadAsync('https://example.com/some.js', callback)'