Opened 14 years ago
Closed 12 years ago
#3592 closed bug (fixed)
append() evaluates script tags with non-script types
Reported by: | zach | Owned by: | flesler |
---|---|---|---|
Priority: | minor | Milestone: | 1.3 |
Component: | manipulation | Version: | 1.2.6 |
Keywords: | Cc: | ||
Blocked by: | Blocking: |
Description
Using $(document).append(content) will strip out all script tags from content and attempt to evaluate them. This throws errors when the script tag contains content other than JavaScript, even when the type attribute of the script tag is set appropriately. Normal browser behavior is to ignore such content and not try to evaluate it, but append() is inconsistent with this.
I added an exception for my specific case (text/html content for use with John's micro-templating[1]) so the script tag would not be stripped and I found no issues when appending (IE6/7/8b2 on IETester, Chrome, FF3/2 linux, Opera 9.51 linux.)
It would be useful for append() to follow the behavior of browsers regarding script tags and only attempt to evaluate scripts when the type is missing or is a recognized script mime type (text/javascript or application/javascript.)
Attachments (1)
Change History (3)
Changed 14 years ago by
Attachment: | jquery-patch.diff added |
---|
comment:1 Changed 13 years ago by
Component: | unfilled → core |
---|
comment:2 Changed 12 years ago by
Component: | core → manipulation |
---|---|
Resolution: | → fixed |
Status: | new → closed |
According to this:
http://github.com/jquery/jquery/blob/master/src/manipulation.js#L529-530
The issue was patched.
the patch I'm using