[Tips] 网间流传的Document.ready实现

 

网间流传的Document.ready实现,没有JQuery的时候可以拿来一用:

// Document.ready

(function () {

    var ie = !!(window.attachEvent && !window.opera);

    var wk = /webkit\/(\d+)/i.test(navigator.userAgent) && (RegExp.$1 < 525);

    var fn = [];

    var run = function () { for (var i = 0; i < fn.length; i++) fn[i](); };

    var d = document;

    d.ready = function (f) {

    if (!ie && !wk && d.addEventListener)

        return d.addEventListener('DOMContentLoaded', f, false);

    if (fn.push(f) > 1) return;

    if (ie)

        (function () {

            try { d.documentElement.doScroll('left'); run(); }

            catch (err) { setTimeout(arguments.callee, 0); }

        })();

    else if (wk)

        var t = setInterval(function () {

            if (/^(loaded|complete)$/.test(d.readyState))

                clearInterval(t), run();

        }, 0);

  };

})();

 

你可能感兴趣的:(document)