如果页面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就行了。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
function <strong>addLoadEvent</strong>(func) { var oldonload = window.onload; if (typeof window.onload !== 'function') { window.onload = func; } else { window.onload = function () { oldonload(); func(); } } } addLoadEvent(func); |