Ticket #1698: jquery-20071012.patch
| File jquery-20071012.patch, 2.1 kB (added by diz, 1 year ago) |
|---|
-
.js
old new 397 397 if ( table && jQuery.nodeName(this, "table") && jQuery.nodeName(a[0], "tr") ) 398 398 obj = this.getElementsByTagName("tbody")[0] || this.appendChild(document.createElement("tbody")); 399 399 400 jQuery.each( a, function(){ 401 var elem = clone ? this.cloneNode(true) : this; 402 if ( !evalScript(0, elem) ) 403 fn.call( obj, elem ); 400 jQuery.each(a, function() { 401 var elem = clone ? jQuery.extractScript(this.cloneNode(true)) : jQuery.extractScript(this); 402 if (elem[1]) 403 fn.call(obj, elem[1]); 404 if (elem[0]) 405 jQuery.evalScript(elem[0]); 404 406 }); 405 407 }); 406 408 } 407 409 }; 408 410 409 function evalScript(i, elem){ 410 var script = jQuery.nodeName(elem, "script"); 411 412 if ( script ) { 413 if ( elem.src ) 414 jQuery.ajax({ url: elem.src, async: false, dataType: "script" }); 415 else 416 jQuery.globalEval( elem.text || elem.textContent || elem.innerHTML || "" ); 417 411 // This function should be called with a single argument: the DOM elements in jQuery format. 412 // Returns an array containing at key 0 the extracted script elements and at key 1 the remaining DOM elements. 413 jQuery.extractScript = function() { 414 var r = !arguments[1], 415 elem = r ? arguments[0] : arguments[1]; 416 if ( jQuery.nodeName(elem, "script") ) { 418 417 if ( elem.parentNode ) 419 418 elem.parentNode.removeChild(elem); 420 419 if ( r ) 420 return [elem, null]; 421 421 } else if ( elem.nodeType == 1 ) 422 jQuery("script", elem).each(evalScript); 422 return [jQuery("script", elem).each(jQuery.extractScript), elem]; 423 else 424 return [null, elem]; 425 }; 423 426 424 return script; 425 } 427 // This function should be called with a single argument: the script element alone or in a jQuery list. 428 jQuery.evalScript = function() { 429 var scr = arguments[1] ? arguments[1] : arguments[0]; 430 if ( scr.each ) { 431 scr.each(jQuery.evalScript); 432 } else { 433 if ( scr.src ) 434 jQuery.ajax({ url: scr.src, async: false, dataType: "script" }); 435 else 436 jQuery.globalEval( scr.text || scr.textContent || scr.innerHTML || "" ); 437 } 438 }; 426 439 427 440 jQuery.extend = jQuery.fn.extend = function() { 428 441 // copy reference to target object
