Skip to content

Instantly share code, notes, and snippets.

@mapiondev
Created June 11, 2010 02:36
Show Gist options
  • Save mapiondev/433964 to your computer and use it in GitHub Desktop.
Save mapiondev/433964 to your computer and use it in GitHub Desktop.
[JavaScript] 関数遅延実行
/**
* 関数遅延実行
*/
deferred=(function(){
var _w=window,_d=window.document;
var deferred_default=function(func){_w.setTimeout(function(){func()},0);};
var deferred_faster_way_readystatechange=((location.protocol==="http:")&&!_w.opera&&/\bMSIE\b/.test(navigator.userAgent))&&function(func){
var script = _d.createElement("script");
script.type = "text/javascript";
script.src = "javascript:";
script.onreadystatechange=function(){func()};
};
var deferred_faster_way_Image=((typeof(Image)!=="undefined")&&_d.addEventListener)&&function(func){
var img = new Image();
var handler=function(){func();};
img.addEventListener("load", handler, false);
img.addEventListener("error", handler, false);
img.src = "data:,/ _ / X";
};
return deferred_faster_way_readystatechange||deferred_faster_way_Image||deferred_default;
})();
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment