ִҪΪwindow/documentdomready¼,domready¼ڲĵмصԴ,ֻdomڵ,¼ͨᷢonload֮ǰ,ڽűĲ,ֻͨdom,ʹĽűǰִ.Կʾ:http://demos.mootools.net/DomReadyVS.Load

//Զ¼onAdd,¼ʱ
Element.Events.domready = {

 onAdd: function(fn){
  //domready֮Ӽ,ֱִ
  if (Browser.loaded) fn.call(this);
 }

};

(function(){
 
 var domready = function(){
  //ظ¼
  if (Browser.loaded) return;
  //domɱ
  Browser.loaded = true;
  //ӵwindowϵ¼
  window.fireEvent('domready');
  //ӵdocumentϵ¼
  document.fireEvent('domready');
 };
 
 //ͬвͬdomжϷ
 switch (Browser.Engine.name){

  //Safari֮
  case 'webkit': (function(){
   //ĵ״ֻ̬Ҫloadedcompletedomready
   //ʹΪ,Ȼͨarguments.calleeȡ
   (['loaded', 'complete'].contains(document.readyState)) ? domready() : arguments.callee.delay(50);
  })(); break;

  //IEж΢һ
  case 'trident':
   //һʱdivڵ
   var temp = document.createElement('div');
   //һ,Աٴִ
   (function(){
    ($try(function(){
     //ֻҪtempڵdomready
     temp.doScroll('left');
     return $(temp).inject(document.body).set('html', 'temp').dispose();
    })) ? domready() : arguments.callee.delay(50);
   })();
  break;
  
  //׼Ĵ
  default:
   //windowϵload¼
   window.addEvent('load', domready);
   //documentϵDOMContentLoaded¼
   document.addEvent('DOMContentLoaded', domready);

 }
 
})();

