Ticket #1332 (closed bug: fixed)
script evaluation not working properly in ie6
| Reported by: | db | Owned by: | john |
|---|---|---|---|
| Priority: | major | Milestone: | 1.1.4 |
| Component: | ajax | Version: | 1.1.3 |
| Keywords: | Cc: | ||
| Blocking: | Blocked by: |
Description
While using this function:
$.ajax({
type: "POST", url: page, data: args, dataType: "html", ... etc.
I found that ie6 does not evaluate any scripting included in the returned data.
like: --snip--
<script type="text/javascript">alert('loading!');</script><h1>some other html</h1>
--snip--
fails completely in ie6 (6.0.2900.2180). This script evaluation does happen with other browsers; just not ie6.
-Thanks
-Dan Bryant
Change History
comment:2 in reply to: ↑ 1 Changed 6 years ago by pedromello
Replying to pedromello:
same occurs on IE7
Apparently IE6/7 can't correctly evaluate the regexp in find method to locate the script tags. So I've coded a temporary workaround, to be called after DOM is updated.
function extractScripts(data) {
if ($.browser.msie) {
var re = new RegExp('<script[>]*>([
S
s]*?)<\/script>','im'); var rs = data.match(/<script[>]*>([\S\s]*?)<\/script>/img);
var parse = $.map(rs, function(tag) {
return re.exec(tag).pop();
});
$(parse).each(function(k,v) {
jQuery.globalEval(v);
});
}
}
Please follow the bug reporting guidlines and use jsFiddle when providing test cases and demonstrations instead of pasting the code in the ticket.

same occurs on IE7