![被引用的外部JS存在window.onload时,判断当前页面是否已存在window.onload,并进行相应处理 被引用的外部JS存在window.onload时,判断当前页面是否已存在window.onload,并进行相应处理](https://image.shishitao.com:8440/aHR0cHM6Ly9ia3FzaW1nLmlrYWZhbi5jb20vdXBsb2FkL2NoYXRncHQtcy5wbmc%2FIQ%3D%3D.png?!?w=700&webp=1)
如果页面a.html引用了b.js,b.js里的方法需要在页面资源加载完成后执行,即在window.onload里执行;
这时如果a.html里使用了window.onload方法,b.js就不能重复调用这个方法了,
因为window.onload不能同时使用多个,否则后者会覆盖前者。
可以用如下方法解决这个问题,即当a.html中已经调用了widow.onload方法,b.js里需要使用widow.onload方法
的函数只需要添加在后面就行了,否则,b.js里新调用一次window.onload就行了。 function addLoadEvent(func) {
var oldonload = window.onload; if (typeof window.onload !== 'function') {
window.onload = func;
} else {
window.onload = function () {
oldonload();
func();
}
}
} addLoadEvent(func);