Advertisement
Guest User

Untitled

a guest
Aug 29th, 2014
185
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.80 KB | None | 0 0
  1. if (document.readyState === "complete")
  2. callback();
  3. else if (document.addEventListener)
  4. {
  5. document.addEventListener("DOMContentLoaded",callback,false);
  6. window.addEventListener("load",callback,false);
  7. }
  8. else if(window.attachEvent)
  9. {
  10. document.attachEvent("onreadystatechange", callback);
  11. window.attachEvent("onLoad",callback);
  12. } else
  13. setTimeout(callback,2000);
  14.  
  15. $(callback);
  16.  
  17. function bindReady(handler){
  18. var called = false
  19. function ready() {
  20. if (called) return
  21. called = true
  22. handler()
  23. }
  24. if ( document.addEventListener ) {
  25. document.addEventListener( "DOMContentLoaded", function(){
  26. ready()
  27. }, false )
  28. } else if ( document.attachEvent ) {
  29. if ( document.documentElement.doScroll && window == window.top ) {
  30. function tryScroll(){
  31. if (called) return
  32. if (!document.body) return
  33. try {
  34. document.documentElement.doScroll("left")
  35. ready()
  36. } catch(e) {
  37. setTimeout(tryScroll, 0)
  38. }
  39. }
  40. tryScroll()
  41. }
  42. document.attachEvent("onreadystatechange", function(){
  43. if ( document.readyState === "complete" ) {
  44. ready()
  45. }
  46. })
  47. }
  48. if (window.addEventListener)
  49. window.addEventListener('load', ready, false)
  50. else if (window.attachEvent)
  51. window.attachEvent('onload', ready)
  52. /* else // use this 'else' statement for very old browsers :)
  53. window.onload=ready
  54. */
  55. }
  56. readyList = []
  57. function onReady(handler) {
  58. if (!readyList.length) {
  59. bindReady(function() {
  60. for(var i=0; i<readyList.length; i++) {
  61. readyList[i]()
  62. }
  63. })
  64. }
  65. readyList.push(handler)
  66. }
  67.  
  68. onReady(function() {
  69. // ...
  70. })
  71.  
  72. (function(exports, d) {
  73. function domReady(fn, context) {
  74.  
  75. function onReady(event) {
  76. d.removeEventListener("DOMContentLoaded", onReady);
  77. fn.call(context || exports, event);
  78. }
  79.  
  80. function onReadyIe(event) {
  81. if (d.readyState === "complete") {
  82. d.detachEvent("onreadystatechange", onReadyIe);
  83. fn.call(context || exports, event);
  84. }
  85. }
  86.  
  87. d.addEventListener && d.addEventListener("DOMContentLoaded", onReady) ||
  88. d.attachEvent && d.attachEvent("onreadystatechange", onReadyIe);
  89. }
  90.  
  91. exports.domReady = domReady;
  92. })(window, document);
  93.  
  94. <script src="domready.js"></script>
  95. <script>
  96. domReady(function(event) {
  97. alert("dom is ready!");
  98. });
  99. </script>
  100.  
  101. function init(event) {
  102. alert("check the console");
  103. this.log(event);
  104. }
  105.  
  106. domReady(init, console);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement