X-Git-Url: http://git.asbjorn.it/?a=blobdiff_plain;f=src%2Fcore.js;h=0cf0444c34c645e0d270d1145ced63775987d4cf;hb=ad1cef94bf134ff7f471a0649dac0158a481cd5d;hp=3b0c46567edfcd1aa58421d2f4765042a7573606;hpb=beebbf8ba44655f2f90750f727ef9cbdfe152f1c;p=jquery.git diff --git a/src/core.js b/src/core.js index 3b0c465..0cf0444 100644 --- a/src/core.js +++ b/src/core.js @@ -564,15 +564,19 @@ jQuery.extend({ data = jQuery.trim( data ); if ( data ) { - if ( window.execScript ) - window.execScript( data ); - - else if ( jQuery.browser.safari ) - // safari doesn't provide a synchronous global eval - window.setTimeout( data, 0 ); - + // Inspired by code by Andrea Giammarchi + // http://webreflection.blogspot.com/2007/08/global-scope-evaluation-and-dom.html + var head = document.getElementsByTagName("head")[0] || document.documentElement, + script = document.createElement("script"); + + script.type = "text/javascript"; + if ( jQuery.browser.msie ) + script.text = data; else - eval.call( window, data ); + script.appendChild( document.createTextNode( data ) ); + + head.appendChild( script ); + head.removeChild( script ); } },