Ticket #2612: jquery-1.2.3-script-exec-order.patch
| File jquery-1.2.3-script-exec-order.patch, 2.3 kB (added by jwagner, 10 months ago) |
|---|
-
jquery-1.2.3.js
520 520 if ( table && jQuery.nodeName( this, "table" ) && jQuery.nodeName( elems[0], "tr" ) ) 521 521 obj = this.getElementsByTagName("tbody")[0] || this.appendChild( this.ownerDocument.createElement("tbody") ); 522 522 523 var scripts = jQuery( [] );523 var scripts = []; 524 524 525 525 jQuery.each(elems, function(){ 526 526 var elem = clone ? … … 529 529 530 530 // execute all scripts after the elements have been injected 531 531 if ( jQuery.nodeName( elem, "script" ) ) { 532 scripts = scripts.add( elem );532 scripts.push( elem ); 533 533 } else { 534 534 // Remove any inner scripts for later evaluation 535 535 if ( elem.nodeType == 1 ) 536 scripts = scripts.add( jQuery( "script", elem ).remove() );536 scripts.push( jQuery( "script", elem ).remove() ); 537 537 538 538 // Inject the elements into the document 539 539 callback.call( obj, elem ); 540 540 } 541 541 }); 542 542 543 scripts.each( evalScript);543 jQuery.evalScript(scripts); 544 544 }); 545 545 } 546 546 }; … … 548 548 // Give the init function the jQuery prototype for later instantiation 549 549 jQuery.prototype.init.prototype = jQuery.prototype; 550 550 551 function evalScript( i, elem ) {552 if ( elem.src )553 jQuery.ajax({554 url: elem.src,555 async: false,556 dataType: "script"557 });558 551 559 else560 jQuery.globalEval( elem.text || elem.textContent || elem.innerHTML || "" );561 562 if ( elem.parentNode )563 elem.parentNode.removeChild( elem );564 }565 566 552 jQuery.extend = jQuery.fn.extend = function() { 567 553 // copy reference to target object 568 554 var target = arguments[0] || {}, i = 1, length = arguments.length, deep = false, options; … … 1207 1193 } 1208 1194 1209 1195 return ret; 1196 }, 1197 1198 evalScript: function(scripts) { 1199 if (!scripts.length) return; 1200 var script = scripts.shift(); 1201 if ( script.src ) { 1202 var src = script.src; 1203 if ( script.parentNode ) 1204 script.parentNode.removeChild( script ); 1205 jQuery.getScript(src, function() { 1206 jQuery.evalScript(scripts); 1207 }); 1208 } else { 1209 jQuery.globalEval( script.text || script.textContent || script.innerHTML || "" ); 1210 if ( script.parentNode ) 1211 script.parentNode.removeChild( script ); 1212 jQuery.evalScript(scripts); 1213 } 1210 1214 } 1215 1216 1217 1211 1218 }); 1212 1219 1213 1220 var userAgent = navigator.userAgent.toLowerCase();
