Prevented non-script <script> blocks from executing, fixing #3733.
This commit is contained in:
parent
9d997a81e2
commit
73ff49ac9a
|
@ -923,7 +923,7 @@ jQuery.extend({
|
||||||
|
|
||||||
if ( fragment ) {
|
if ( fragment ) {
|
||||||
for ( var i = 0; ret[i]; i++ ) {
|
for ( var i = 0; ret[i]; i++ ) {
|
||||||
if ( jQuery.nodeName( ret[i], "script" ) ) {
|
if ( jQuery.nodeName( ret[i], "script" ) && (!ret[i].type || ret[i].type === "text/javascript") ) {
|
||||||
scripts.push( ret[i].parentNode ? ret[i].parentNode.removeChild( ret[i] ) : ret[i] );
|
scripts.push( ret[i].parentNode ? ret[i].parentNode.removeChild( ret[i] ) : ret[i] );
|
||||||
} else {
|
} else {
|
||||||
if ( ret[i].nodeType === 1 )
|
if ( ret[i].nodeType === 1 )
|
||||||
|
|
|
@ -1352,7 +1352,7 @@ test("val(String/Number)", function() {
|
||||||
});
|
});
|
||||||
|
|
||||||
test("html(String)", function() {
|
test("html(String)", function() {
|
||||||
expect(13);
|
expect(17);
|
||||||
|
|
||||||
jQuery.scriptorder = 0;
|
jQuery.scriptorder = 0;
|
||||||
|
|
||||||
|
@ -1381,6 +1381,10 @@ test("html(String)", function() {
|
||||||
equals( $div.html( 5 ).html(), '5', 'Setting a number as html' );
|
equals( $div.html( 5 ).html(), '5', 'Setting a number as html' );
|
||||||
equals( $div.html( 0 ).html(), '0', 'Setting a zero as html' );
|
equals( $div.html( 0 ).html(), '0', 'Setting a zero as html' );
|
||||||
|
|
||||||
|
reset();
|
||||||
|
|
||||||
|
jQuery("#main").html('<script type="something/else">ok( false, "Non-script evaluated." );</script><script type="text/javascript">ok( true, "text/javascript is evaluated." );</script><script>ok( true, "No type is evaluated." );</script><div><script type="text/javascript">ok( true, "Inner text/javascript is evaluated." );</script><script>ok( true, "Inner No type is evaluated." );</script><script type="something/else">ok( false, "Non-script evaluated." );</script></div>');
|
||||||
|
|
||||||
stop();
|
stop();
|
||||||
|
|
||||||
jQuery("#main").html('<script type="text/javascript">ok( true, "jQuery().html().evalScripts() Evals Scripts Twice in Firefox, see #975" );</script>');
|
jQuery("#main").html('<script type="text/javascript">ok( true, "jQuery().html().evalScripts() Evals Scripts Twice in Firefox, see #975" );</script>');
|
||||||
|
|
Loading…
Reference in a new issue