Changeset 4245
- Timestamp:
- 12/20/07 06:00:01 (8 months ago)
- Files:
-
- 1 modified
-
trunk/jquery/src/event.js (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
trunk/jquery/src/event.js
r4238 r4245 490 490 readyBound = true; 491 491 492 // Mozilla, Opera and webkit nightlies currently support this event493 if ( document.addEventListener )492 // Mozilla, Opera (see further below for it) and webkit nightlies currently support this event 493 if ( document.addEventListener && !jQuery.browser.opera) 494 494 // Use the handy event callback 495 495 document.addEventListener( "DOMContentLoaded", jQuery.ready, false ); 496 496 497 // If Safari or IE is used497 // If IE is used and is not in a frame 498 498 // Continually check to see if the document is ready 499 if (jQuery.browser.msie || jQuery.browser.safari ) (function(){ 499 if ( jQuery.browser.msie && window == top ) (function(){ 500 if (jQuery.isReady) return; 500 501 try { 501 502 // If IE is used, use the trick by Diego Perini 502 503 // http://javascript.nwbox.com/IEContentLoaded/ 503 if ( jQuery.browser.msie || document.readyState != "loaded" && document.readyState != "complete" ) 504 document.documentElement.doScroll("left"); 504 document.documentElement.doScroll("left"); 505 505 } catch( error ) { 506 returnsetTimeout( arguments.callee, 0 );507 }508 506 setTimeout( arguments.callee, 0 ); 507 return; 508 } 509 509 // and execute any waiting functions 510 510 jQuery.ready(); 511 511 })(); 512 513 if ( jQuery.browser.opera ) 514 document.addEventListener( "DOMContentLoaded", function () { 515 if (jQuery.isReady) return; 516 for (var i = 0; i < document.styleSheets.length; i++) 517 if (document.styleSheets[i].disabled) { 518 setTimeout( arguments.callee, 0 ); 519 return; 520 } 521 // and execute any waiting functions 522 jQuery.ready(); 523 }, false); 524 525 if ( jQuery.browser.safari ) { 526 var numStyles; 527 (function(){ 528 if (jQuery.isReady) return; 529 if ( document.readyState != "loaded" && document.readyState != "complete" ) { 530 setTimeout( arguments.callee, 0 ); 531 return; 532 } 533 if ( numStyles === undefined ) 534 numStyles = jQuery("style, link[rel=stylesheet]").length; 535 if ( document.styleSheets.length != numStyles ) { 536 setTimeout( arguments.callee, 0 ); 537 return; 538 } 539 // and execute any waiting functions 540 jQuery.ready(); 541 })(); 542 } 512 543 513 544 // A fallback to window.onload, that will always work