Bug Tracker

Modify

Ticket #9370 (closed bug: fixed)

Opened 3 years ago

Last modified 2 years ago

Compatibility Issue with jQuery 1.6 and IE6

Reported by: sradoff@… Owned by: timmywil
Priority: high Milestone: 1.6.2
Component: manipulation Version: 1.6.1
Keywords: xml Cc:
Blocking: Blocked by:

Description (last modified by rwaldron) (diff)

A compatibility issue has arisen with jquery 1.6 (and 1.6.1) and IE6. The failure does not occur with any version of jquery 1.5. A link to jsfiddle sample code that demonstrates the issue follows:

It is suggested that the link be run first on Firefox in which the sample code runs properly. Then use the same link with IE6. An alert box will appear indicating the point in the code that is failing. Note that the failure occurs with the append() method.

Change History

comment:1 Changed 3 years ago by rwaldron

  • Owner set to sradoff@…
  • Status changed from new to pending

Just ran on Chrome then in IE6... there was no alert(). Is there anyway to reduce this test case down to the single item that is causing the issue?

comment:2 Changed 3 years ago by sradoff@…

  • Status changed from pending to new

I just tested the jsfiddle code and I can reproduce the failure. I could send you the alert I get if only I knew how to embed a jpg into this response.

This appears to be a real failure that I can reproduce with jsfiddle and my application code.

As for making the test code smaller the problem is that I rely upon generating XML and find that jquery tends to be weak in that area. So the functions you see are for the purpose of generating XML and utilize standard DHTML methods.

comment:3 Changed 3 years ago by sradoff@…

Below are additional pieces of information.

The place where the failure takes place with IE6 is on the line with code:

$(oData).append(oDems);

The error is: Wrong number of arguments or invalid property assignment.

I tested with various versions of MSXML (3 and 6) and the error still occurs. My O/S is WinXP, SP3.

comment:4 Changed 3 years ago by timmywil

  • Keywords xml added
  • Priority changed from undecided to low
  • Status changed from new to open
  • Component changed from unfiled to manipulation

I've looked into this, but didn't discover what is causing the error.

comment:5 Changed 3 years ago by anonymous

The problem is in the findInputs method, which is new in jQuery 1.6. Accessing elem.getElementsByTagName causes the error. If I use typeof elem.getElementsByTagName == "function" instead it works. But the type returned is "unknown". I encounter this problem in the IE7 compatibility mode in IE9.

comment:6 Changed 3 years ago by timmywil

  • Owner changed from sradoff@… to timmywil
  • Status changed from open to assigned

that makes sense.

comment:7 Changed 3 years ago by timmywil

  • Priority changed from low to high
  • Milestone changed from 1.next to 1.6.2

comment:8 Changed 3 years ago by timmywil

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

elem.getElementsByTagName calls the function in IE6/7. Fixes #9370.

Changeset: 1d1cb582c0f744afaa51a63d374b9ffe0f58d1db

comment:9 Changed 3 years ago by rwaldron

  • Description modified (diff)

@timmywil can you add a test for this?

comment:10 Changed 3 years ago by timmywil

Can't slip by you can I. ;) test added...

 9d4033d629fbfd1352e4ee5f20d0d320a61b80f1

comment:11 Changed 3 years ago by rwaldron

That's a great test dude :D

comment:12 Changed 3 years ago by timmywil

#9610 is a duplicate of this ticket.

comment:13 Changed 3 years ago by timmywil

#9602 is a duplicate of this ticket.

comment:14 Changed 3 years ago by sradoff@…

When will 1.6.2 be released and available minified?

comment:15 Changed 3 years ago by timmywil

@sradoff: will be this week.

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.