From b43910a496ccb2b44dcc11b64667e21521aa4994 Mon Sep 17 00:00:00 2001 From: Mathias Bynens Date: Fri, 20 May 2011 11:22:52 -0400 Subject: [PATCH] Landing pull request 352. Slightly improved defaultDisplay() and Throbber of Doom. Fixes #8994. More Details: - https://github.com/jquery/jquery/pull/352 - http://bugs.jquery.com/ticket/8994 --- src/effects.js | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/src/effects.js b/src/effects.js index e179c3e3..22496277 100644 --- a/src/effects.js +++ b/src/effects.js @@ -574,7 +574,8 @@ function defaultDisplay( nodeName ) { if ( !elemdisplay[ nodeName ] ) { - var elem = jQuery( "<" + nodeName + ">" ).appendTo( "body" ), + var body = document.body, + elem = jQuery( "<" + nodeName + ">" ).appendTo( body ), display = elem.css( "display" ); elem.remove(); @@ -588,14 +589,15 @@ function defaultDisplay( nodeName ) { iframe.frameBorder = iframe.width = iframe.height = 0; } - document.body.appendChild( iframe ); + body.appendChild( iframe ); // Create a cacheable copy of the iframe document on first call. - // IE and Opera will allow us to reuse the iframeDoc without re-writing the fake html - // document to it, Webkit & Firefox won't allow reusing the iframe document + // IE and Opera will allow us to reuse the iframeDoc without re-writing the fake HTML + // document to it; WebKit & Firefox won't allow reusing the iframe document. if ( !iframeDoc || !iframe.createElement ) { iframeDoc = ( iframe.contentWindow || iframe.contentDocument ).document; - iframeDoc.write( "" ); + iframeDoc.write( ( document.compatMode === "CSS1Compat" ? "" : "" ) + "" ); + iframeDoc.close(); } elem = iframeDoc.createElement( nodeName ); @@ -604,7 +606,7 @@ function defaultDisplay( nodeName ) { display = jQuery.css( elem, "display" ); - document.body.removeChild( iframe ); + body.removeChild( iframe ); } // Store the correct default display