页面Load后执行JavaScript解决方案

通常我们需要在打开页面时加载脚本,这些脚本必须在页面加载完毕后才可以执行,因为这时候DOM才完整,可以利用window.onload确保这一点,如:
window.onload=firstFunction;
这脚本的意思是在页面完毕后执行firstFunction函数,但当有很多个函数需要在页面加载时执行呢?可能有人说可以这样:
window.onload=firstFunction;
window.onload=secondFunction;
但这样的话只会执行secondFunction函数。

Simon Willison Blog 上提供了完美的解决方案:

function addLoadEvent(func) {
  
var oldonload = window.onload;
  
if (typeof window.onload != 'function') {
    window.onload 
= func;
  } 
else {
    window.onload 
= function() {
      
if (oldonload) {
        oldonload();
      }
      func();
    }
  }
}


func参数就是要加载的函数名(记得只是函数名,不需要括号),有多少个函数需要在页面Load后执行的话,就调用多少次上面那个经典函数,例如:
addLoadEvent(firstFunction);
addLoadEvent(secondFunction);
......
posted @ 2008-04-05 11:16  Tuwi  阅读(2055)  评论(1编辑  收藏  举报