Side navigation
#11459 closed bug (invalid)
Opened March 09, 2012 10:21AM UTC
Closed March 24, 2012 08:18AM UTC
charset attribute of script tag lost when insert html string with .html()
Reported by: | zeratul1986 | Owned by: | zeratul1986 |
---|---|---|---|
Priority: | undecided | Milestone: | None |
Component: | unfiled | Version: | 1.7.1 |
Keywords: | Cc: | ||
Blocked by: | Blocking: |
Description
The .html() call does not handle a script tag with charset attribute correctly if the value of charset is not 'utf-8'.
A minimal test case below:
var html = '<script src="http://domain.com/sample.js" charset="gb2312"></script>'; $( 'body' ).html( html );
The script file "sample.js" was saved with charset "gb2312".
The content should like this.
$( 'body' ).append( '<p>script loaded. 中文</p>' );
I ran into the source code of jQuery and found that it missed the charset attribute in the 'evalScript' function.
It can be fixed at line 6425 of jquery-1.7.1.js
jQuery.ajax({ url: elem.src, scriptCharset: elem.charset, // handle the charset attribute async: false, dataType: "script" });
Regards
Attachments (0)
Change History (2)
Changed March 09, 2012 10:23AM UTC by comment:1
owner: | → zeratul1986 |
---|---|
status: | new → pending |
Changed March 24, 2012 08:18AM UTC by comment:2
resolution: | → invalid |
---|---|
status: | pending → closed |
Because we get so many tickets, we often need to return them to the initial reporter for more information. If that person does not reply within 14 days, the ticket will automatically be closed, and that has happened in this case. If you still are interested in pursuing this issue, feel free to add a comment with the requested information and we will be happy to reopen the ticket if it is still valid. Thanks!
Thanks for taking the time to contribute to the jQuery project! Please provide a complete reduced test case on jsFiddle to help us assess your ticket.
Additionally, be sure to test against the jQuery Edge version to ensure the issue still exists. To get you started, use this boilerplate: http://jsfiddle.net/FrKyN/ Open the link and click to "Fork" (in the top menu) to get started.