Advertisement
KiberInfinity

onDOMReady

Jul 4th, 2014
320
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. function onDOMReady(fn, ctx) {
  2.    var ready, timer;
  3.    var onChange = function(e) {
  4.          if (e && e.type == "DOMContentLoaded") {
  5.             fireDOMReady();
  6.          } else if (e && e.type == "load") {
  7.             fireDOMReady();
  8.          } else if (document.readyState) {
  9.             if ((/loaded|complete/).test(document.readyState)) {
  10.                fireDOMReady();
  11.             } else if ( !! document.documentElement.doScroll) {
  12.                try {
  13.                   ready || document.documentElement.doScroll('left');
  14.                } catch (e) {
  15.                   return;
  16.                }
  17.                fireDOMReady();
  18.             }
  19.          }
  20.       };
  21.    var fireDOMReady = function() {
  22.          if (!ready) {
  23.             ready = true;
  24.             fn.call(ctx || window);
  25.             if (document.removeEventListener) document.removeEventListener("DOMContentLoaded", onChange, false);
  26.             document.onreadystatechange = null;
  27.             window.onload = null;
  28.             clearInterval(timer);
  29.             timer = null;
  30.          }
  31.       };
  32.    if (document.addEventListener) document.addEventListener("DOMContentLoaded", onChange, false);
  33.    document.onreadystatechange = onChange;
  34.    timer = setInterval(onChange, 5);
  35.    window.onload = onChange;
  36. };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement