From a2fc65fd3296931486974a3b362949ebc1a01062 Mon Sep 17 00:00:00 2001 From: John Resig Date: Mon, 15 Oct 2007 17:55:54 +0000 Subject: [PATCH] From a suggestion by Diego, moved the jQuery.ready() call outside of the try{}catch() block for IE/Safari DOM Ready. --- src/event.js | 28 ++++++++++++---------------- 1 file changed, 12 insertions(+), 16 deletions(-) diff --git a/src/event.js b/src/event.js index 070ed9e..627f4d2 100644 --- a/src/event.js +++ b/src/event.js @@ -430,24 +430,20 @@ function bindReady(){ document.addEventListener( "DOMContentLoaded", jQuery.ready, false ); // If Safari or IE is used - else { - // Continually check to see if the document is ready - function timer(){ - try { - // If IE is used, use the trick by Diego Perini - // http://javascript.nwbox.com/IEContentLoaded/ - if ( jQuery.browser.msie || document.readyState != "loaded" && document.readyState != "complete" ) - document.documentElement.doScroll("left"); - - // and execute any waiting functions - jQuery.ready(); - } catch( error ) { - setTimeout( timer, 0 ); - } + // Continually check to see if the document is ready + else (function(){ + try { + // If IE is used, use the trick by Diego Perini + // http://javascript.nwbox.com/IEContentLoaded/ + if ( jQuery.browser.msie || document.readyState != "loaded" && document.readyState != "complete" ) + document.documentElement.doScroll("left"); + } catch( error ) { + return setTimeout( arguments.callee, 0 ); } - timer(); - } + // and execute any waiting functions + jQuery.ready(); + })(); // A fallback to window.onload, that will always work jQuery.event.add( window, "load", jQuery.ready ); -- 1.7.10.4