Skip to main content

Bug Tracker

Side navigation

#4378 closed bug (fixed)

Opened March 18, 2009 07:44PM UTC

Closed March 27, 2009 06:22PM UTC

Last modified October 26, 2010 06:14PM UTC

IE6 Broken JSONP calls. Several tickets, > 1 year. Solution available.

Reported by: ricardoe Owned by: brandon
Priority: critical Milestone: 1.4
Component: ajax Version: 1.3.2
Keywords: JSONP, IE6 Cc:
Blocked by: Blocking:
Description

Hi,

I'm concerned about the problem with JSONP calls in IE6 that seems to be studied and even fixed from some jQuery users.

This is a desperate call for jQuery developers to include the simple solutions into the next release of this great tool.

I understand and support the NO-MORE-IE6 ideal, but come on boys, we just can't say to our wide base of users what to do (I'd love them to drop ie6!).

Please check these:

#3019, #3436, #3283, #3283, #3466, #2923

The problem:

JSONP calls insert the script tag in the head tag, but if IE6 is on quirks or using base tag the code to remove the script will choke.

The solution:

Some proposed fixes are to change from

head.removeChild(script);

to

script.parentNode.removeChild(script);

I don't really know what is the best approach, but I now that this bug is present in 1.3.2 and its been reported since 10 months ago or even more.

I really think this is not a very difficult problem to solve and to test.

But we are up to you. And remember WE ALL WANT IE6 gone for good.

Attachments (0)
Change History (12)

Changed March 18, 2009 10:20PM UTC by brandon comment:1

owner: → brandon

Changed March 18, 2009 10:53PM UTC by brandon comment:2

#3436 was caused by a bad server response... see this stackoverflow question for more details http://stackoverflow.com/questions/129157/jquery-jsonp-problem-in-ie6

Changed March 18, 2009 11:22PM UTC by brandon comment:3

I've tried all kinds of variations of valid and invalid markup to reproduce this particular issue but it always works for me. I believe IE is being picky about the server response.

I can use the following (via the previously mentioned stackoverflow question) for dataType javascript and it work in IE quirks and standards mode.

$.getScript('http://jsbin.com/rs.php?callback=alert');

Changed March 18, 2009 11:40PM UTC by ricardoe comment:4

Hi Brandon,

Can you try using a <base> tag?

Its weird because this is very important to a code I'm developing that currently is being used, well, very very widely. And this problem is being reported only on IE6 and with some pages using a <base>.

Thanks for looking at this, there must be something we can do in jQuery to avoid this IE6-issues.

Changed March 19, 2009 12:14AM UTC by brandon comment:5

I have also tried using a base tag in quirks and standards and it still works for me. Could you provide some sample code that is failing for you?

Does removing the base tag resolve the issue for you?

Changed March 19, 2009 12:16AM UTC by brandon comment:6

Also are you actually getting the javascript error you describe or is the callback just not firing?

Changed March 19, 2009 12:18AM UTC by ricardoe comment:7

I got an error message, I have the MS script debugger installed and enable so I get that option, but even if I avoid that, the callback is just not fired and the script execution is ended.

Changed March 19, 2009 12:48AM UTC by brandon comment:8

Could you provide the code (preferably in a stripped down form) so that I can test with it?

Changed March 19, 2009 11:32PM UTC by ricardoe comment:9

Brandon sorry for the delay.

Check this: http://pastebin.com/f17fcac13

One thing I just discovery is that changing the <base> tag to be explicitly closed with </base> will not trigger the error alert in IE6.

Changed March 27, 2009 06:22PM UTC by brandon comment:10

resolution: → fixed
status: newclosed

This is now fixed in r6301

Changed March 27, 2009 06:48PM UTC by ricardoe comment:11

thanks Brandon.

Changed October 26, 2010 06:14PM UTC by addyosmani comment:12

#4478 is a duplicate of this ticket.