Bug Tracker

Modify

Ticket #1332 (closed bug: fixed)

Opened 6 years ago

Last modified 6 years ago

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:1 follow-up: ↓ 2 Changed 6 years ago by pedromello

same occurs on IE7

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);

});

}

}

comment:3 Changed 6 years 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

comment:4 Changed 6 years ago by john

  • Status changed from new to closed
  • Resolution set to fixed

Fixed in SVN rev [2428].

Please follow the  bug reporting guidlines and use  jsFiddle when providing test cases and demonstrations instead of pasting the code in the ticket.

View

Add a comment

Modify Ticket

Action
as closed
Author


E-mail address and user name can be saved in the Preferences.

 
Note: See TracTickets for help on using tickets.