#6180 closed bug (fixed)
jQuery.clean should not touch script tags that are not of type text/javascript
Reported by: | rio | Owned by: | rjgotten |
---|---|---|---|
Priority: | high | Milestone: | 1.6 |
Component: | manipulation | Version: | 1.5 |
Keywords: | Cc: | ||
Blocked by: | Blocking: |
Description
At the very end of the clean function script tag nodes embedded in the nodes stored in the ret array are spliced into the ret array itself.
The clean function should not touch those scripts with a type different from "text/javascript" (e.g. custom types used for script island metadata). This check is partially in place, but still missing from:
ret.splice.apply(ret, [i + 1, 0].concat(jQuery.makeArray(ret[i].getElementsByTagName("script"))) );
The direct use of getElementsByTagName() causes all non-"text/javascript" script tags to be moved to direct children of fragment. If this is combined with temporary container nodes (e.g. the Blind effect in jQuery UI) this causes those script tags to be 'eaten'.
A simple fix is $.grep()-ing the result from getElementsByTagName and only retaining those script elements with the "text/javascript" type.
Change History (11)
comment:1 Changed 13 years ago by
comment:2 Changed 13 years ago by
Milestone: | 1.4.2 → 1.5 |
---|---|
Priority: | → high |
Status: | new → open |
Version: | 1.4.1 → 1.4.3 |
comment:7 Changed 12 years ago by
Milestone: | → 1.next |
---|---|
Owner: | set to rjgotten |
Status: | open → assigned |
Version: | 1.4.3 → 1.5 |
comment:10 Changed 12 years ago by
Resolution: | → fixed |
---|---|
Status: | assigned → closed |
Merge branch 'master' of https://github.com/rjgotten/jquery into rjgotten-master. Also added in unit tests covering the case. Fixes #6180.
Conflicts:
src/manipulation.js
Changeset: 3418f323876043db63a2da9f653e51d5458647fa
comment:11 Changed 12 years ago by
Milestone: | 1.next → 1.6 |
---|
Created a jsFiddle which demonstrates the problem present in jQuery 1.4.3: http://jsfiddle.net/3S8Kx/
And created a patch to manipulation.js: http://github.com/rjgotten/jquery/commit/df7dfc2404807dce2f97c21782eb3a14ced86d6b