Bug Tracker

Ticket #1332 (closed bug: fixed)

Opened 1 year ago

Last modified 1 year ago

script evaluation not working properly in ie6

Reported by: db Assigned to: john
Type: bug Priority: major
Milestone: 1.1.4 Component: ajax
Version: 1.1.3 Keywords:
Cc: Needs: Test Case

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

Attachments

Change History

follow-up: ↓ 2   Changed 1 year ago by pedromello

same occurs on IE7

in reply to: ↑ 1   Changed 1 year 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);

});

}

}

  Changed 1 year ago by john

  • need changed from Review to Test Case
  • owner set to john
  • version changed from 1.1.2 to 1.1.3
  • milestone changed from 1.1.3 to 1.1.4

  Changed 1 year ago by john

  • status changed from new to closed
  • resolution set to fixed

Fixed in SVN rev [2428].

Note: See TracTickets for help on using tickets.