Prevented non-script <script> blocks from executing, fixing #3733.
This commit is contained in:
parent
9d997a81e2
commit
73ff49ac9a
2 changed files with 6 additions and 2 deletions
|
@ -923,7 +923,7 @@ jQuery.extend({
|
|||
|
||||
if ( fragment ) {
|
||||
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] );
|
||||
} else {
|
||||
if ( ret[i].nodeType === 1 )
|
||||
|
|
|
@ -1352,7 +1352,7 @@ test("val(String/Number)", function() {
|
|||
});
|
||||
|
||||
test("html(String)", function() {
|
||||
expect(13);
|
||||
expect(17);
|
||||
|
||||
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( 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();
|
||||
|
||||
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