// 如果是ie并且不是嵌在frame中 // 就需要不断地检查文档是否加载完 if ( jQuery.browser.msie && window == top ) (function(){ if (jQuery.isReady) return; try { // 这个地方标记一下,在后面解析(1) document.documentElement.doScroll("left"); } catch( error ) { //// 这个地方标记一下,在后面解析(2) setTimeout( arguments.callee, 0 ); return; } // and execute any waiting functions jQuery.ready(); })();
if ( jQuery.browser.opera ) document.addEventListener( "DOMContentLoaded", function () { if (jQuery.isReady) return; for (var i = 0; i < document.styleSheets.length; i++) // 标记(3) if (document.styleSheets[i].disabled) { setTimeout( arguments.callee, 0 ); return; } // and execute any waiting functions jQuery.ready(); }, false);
if ( jQuery.browser.safari ) { var numStyles; (function(){ if (jQuery.isReady) return; if ( document.readyState != "loaded" && document.readyState != "complete" ) { // 标记(4) setTimeout( arguments.callee, 0 ); return; } if ( numStyles === undefined ) numStyles = jQuery("style, link[rel=stylesheet]").length; if ( document.styleSheets.length != numStyles ) { // 标记(5) setTimeout( arguments.callee, 0 ); return; } // and execute any waiting functions jQuery.ready(); })(); }
// A fallback to window.onload, that will always work jQuery.event.add( window, "load", jQuery.ready ); // 标记(6) } }