Cross Browser Dom Ready

Я унаследовал этот фрагмент кода, и он кажется неоптимальным и, возможно, неправильным, поскольку он добавляет прослушивателей событий как для объектов окна, так и для объектов документа. Однако он работает нормально, за исключением Blackberry 5.0. Может ли кто-нибудь объяснить, правильно ли все это настроено или есть ли какие-либо рекомендации по его улучшению и / или упрощению?

        if (document.readyState === "complete") 
            callback();
        else if (document.addEventListener) 
        {
            document.addEventListener("DOMContentLoaded",callback,false);
            window.addEventListener("load",callback,false);
        }
        else if(window.attachEvent) 
        {
            document.attachEvent("onreadystatechange", callback);
            window.attachEvent("onLoad",callback);
        } else
            setTimeout(callback,2000);
20
задан VinnyD 1 August 2011 в 17:46
поделиться