Re: [jQuery] [Fwd: jquery bug 164] (fix?)
Weird ... I wrote this email but never sent it :/ I've run it through the test suite and it doesn't affect anything else but I think Jorn had some tests specific to this bug that need to be added back in ... so it is probably best to wait for him to commit this fix to SVN. -- Brandon Aaron On 11/4/06, Dave Methvin [EMAIL PROTECTED] wrote: Okay, this version doesn't error out at least: http://methvin.com/junk/jquery-xml-bug.html?patched The fix is to change this line of attr() : Old: } else if ( elem.getAttribute != undefined elem.tagName ) { // IE elem.getAttribute passes even for style New: } else if ( typeof(elem.getAttribute) != undefined elem.tagName ) { \ I think IE is trying to _call_ elem.getAttribute for some reason, must be a bug in the COM typelib for the XML control. -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Brandon Aaron Sent: Saturday, November 04, 2006 1:01 PM To: jQuery Discussion. Subject: Re: [jQuery] [Fwd: jquery bug 164] On 11/4/06, Brandon Aaron [EMAIL PROTECTED] wrote: This is interesting. These both fail for me ... Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; .NET CLR 1.1.4322; .NET CLR 2.0.50727) I should also mention it fails with the line #722 'Wrong number of arguments or invalid property assignment' in both IE6 and IE7. -- Brandon Aaron ___ jQuery mailing list discuss@jquery.com http://jquery.com/discuss/ ___ jQuery mailing list discuss@jquery.com http://jquery.com/discuss/ ___ jQuery mailing list discuss@jquery.com http://jquery.com/discuss/
Re: [jQuery] [Fwd: jquery bug 164]
Klaus Hartl schrieb: Hey Steve, as Dave said, this one is hard *and* no fun... But the bug didn't occur in pre 1.0, so theres still hope! Anyone up for some digging in those old revisions? No fun at all... -- Jörn Zaefferer http://bassistance.de ___ jQuery mailing list discuss@jquery.com http://jquery.com/discuss/
Re: [jQuery] [Fwd: jquery bug 164]
Since the move to /trunk I'm only able to go back to Rev 482. Is it just my SVN client (SVN X) or something I'm not doing right? I don't mind taking a look back to see if I can find anything revealing ... but I can't get to those older revesions. -- Brandon Aaron On 11/4/06, Jörn Zaefferer [EMAIL PROTECTED] wrote: Klaus Hartl schrieb: Hey Steve, as Dave said, this one is hard *and* no fun... But the bug didn't occur in pre 1.0, so theres still hope! Anyone up for some digging in those old revisions? No fun at all... -- Jörn Zaefferer http://bassistance.de ___ jQuery mailing list discuss@jquery.com http://jquery.com/discuss/ ___ jQuery mailing list discuss@jquery.com http://jquery.com/discuss/
Re: [jQuery] [Fwd: jquery bug 164]
I just set up a test case based closely on the sample code at the top of bug #164 and can't get it to fail in IE6 with build 501: http://methvin.com/junk/jquery-xml-bug.html?501 It does not fail on 413 either, using the copy of the file from http://imaptools.com:8081/js/jquery.js : http://methvin.com/junk/jquery-xml-bug.html?413 Can someone still experiencing this problem in real code please respond with a working (uh, non-working) test case and information about the version of the browser? Is it possible that the dependent variable is the version of MSXML instead of the browser? For these situations, it would be very handy if we kept an archive of older builds, and if the files had the revision number inside the .jquery variable. You can't easily get the built files out of SVN. ___ jQuery mailing list discuss@jquery.com http://jquery.com/discuss/
Re: [jQuery] [Fwd: jquery bug 164]
Brandon, If I recall correctly, I think the version that I had that worked was marked r29. I'm not sure what that reflected, but I'm kicking myself for deleting it, when I upgraded. -Steve Brandon Aaron wrote: Since the move to /trunk I'm only able to go back to Rev 482. Is it just my SVN client (SVN X) or something I'm not doing right? I don't mind taking a look back to see if I can find anything revealing ... but I can't get to those older revesions. -- Brandon Aaron On 11/4/06, Jörn Zaefferer [EMAIL PROTECTED] wrote: Klaus Hartl schrieb: Hey Steve, as Dave said, this one is hard *and* no fun... But the bug didn't occur in pre 1.0, so theres still hope! Anyone up for some digging in those old revisions? No fun at all... -- Jörn Zaefferer http://bassistance.de ___ jQuery mailing list discuss@jquery.com http://jquery.com/discuss/ ___ jQuery mailing list discuss@jquery.com http://jquery.com/discuss/ ___ jQuery mailing list discuss@jquery.com http://jquery.com/discuss/
Re: [jQuery] [Fwd: jquery bug 164]
Dave, Thank you for looking into this. I just set up a test case that fails roughly using your test case as a model. I tested it based on todays svn and it fails in IE6. Can you test it against the older versions. http://imaptools.com:8081/test/jquery-xml-bug.html http://imaptools.com:8081/test/jquery-xml-bug.xml -Steve Dave Methvin wrote: I just set up a test case based closely on the sample code at the top of bug #164 and can't get it to fail in IE6 with build 501: http://methvin.com/junk/jquery-xml-bug.html?501 It does not fail on 413 either, using the copy of the file from http://imaptools.com:8081/js/jquery.js : http://methvin.com/junk/jquery-xml-bug.html?413 Can someone still experiencing this problem in real code please respond with a working (uh, non-working) test case and information about the version of the browser? Is it possible that the dependent variable is the version of MSXML instead of the browser? For these situations, it would be very handy if we kept an archive of older builds, and if the files had the revision number inside the .jquery variable. You can't easily get the built files out of SVN. ___ jQuery mailing list discuss@jquery.com http://jquery.com/discuss/ ___ jQuery mailing list discuss@jquery.com http://jquery.com/discuss/
Re: [jQuery] [Fwd: jquery bug 164]
Dave, It just dawned on me I could pull the js from you site: http://imaptools.com:8081/test/jquery-xml-bug2.html?413 http://imaptools.com:8081/test/jquery-xml-bug2.html?501 And both of these fail in IE6. -Steve Stephen Woodbridge wrote: Dave, Thank you for looking into this. I just set up a test case that fails roughly using your test case as a model. I tested it based on todays svn and it fails in IE6. Can you test it against the older versions. http://imaptools.com:8081/test/jquery-xml-bug.html http://imaptools.com:8081/test/jquery-xml-bug.xml -Steve Dave Methvin wrote: I just set up a test case based closely on the sample code at the top of bug #164 and can't get it to fail in IE6 with build 501: http://methvin.com/junk/jquery-xml-bug.html?501 It does not fail on 413 either, using the copy of the file from http://imaptools.com:8081/js/jquery.js : http://methvin.com/junk/jquery-xml-bug.html?413 Can someone still experiencing this problem in real code please respond with a working (uh, non-working) test case and information about the version of the browser? Is it possible that the dependent variable is the version of MSXML instead of the browser? For these situations, it would be very handy if we kept an archive of older builds, and if the files had the revision number inside the .jquery variable. You can't easily get the built files out of SVN. ___ jQuery mailing list discuss@jquery.com http://jquery.com/discuss/ ___ jQuery mailing list discuss@jquery.com http://jquery.com/discuss/ ___ jQuery mailing list discuss@jquery.com http://jquery.com/discuss/
Re: [jQuery] [Fwd: jquery bug 164]
On 11/4/06, Dave Methvin [EMAIL PROTECTED] wrote: I just set up a test case based closely on the sample code at the top of bug #164 and can't get it to fail in IE6 with build 501: http://methvin.com/junk/jquery-xml-bug.html?501 It does not fail on 413 either, using the copy of the file from http://imaptools.com:8081/js/jquery.js : http://methvin.com/junk/jquery-xml-bug.html?413 Can someone still experiencing this problem in real code please respond with a working (uh, non-working) test case and information about the version of the browser? Is it possible that the dependent variable is the version of MSXML instead of the browser? This is interesting. These both fail for me ... Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; .NET CLR 1.1.4322; .NET CLR 2.0.50727) Looks like there is a way to tell which version of MSXML was used but I haven't done it yet. Not sure how it is going to help unless we can tell IE to use a specific version ... but then what if the user doesn't have it. Link to instructions: http://support.microsoft.com/kb/q296647/ I think at this point it is important to get Rev 29 and see why it worked. -- Brandon Aaron ___ jQuery mailing list discuss@jquery.com http://jquery.com/discuss/
Re: [jQuery] [Fwd: jquery bug 164]
Dave Methvin schrieb: I just set up a test case based closely on the sample code at the top of bug #164 and can't get it to fail in IE6 with build 501: http://methvin.com/junk/jquery-xml-bug.html?501 It does not fail on 413 either, using the copy of the file from http://imaptools.com:8081/js/jquery.js : http://methvin.com/junk/jquery-xml-bug.html?413 Can someone still experiencing this problem in real code please respond with a working (uh, non-working) test case and information about the version of the browser? Is it possible that the dependent variable is the version of MSXML instead of the browser? Hey Dave, the sample code in that bug is from Plazes, I will check that on monday! -- Klaus ___ jQuery mailing list discuss@jquery.com http://jquery.com/discuss/
Re: [jQuery] [Fwd: jquery bug 164]
On 11/4/06, Brandon Aaron [EMAIL PROTECTED] wrote: This is interesting. These both fail for me ... Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; .NET CLR 1.1.4322; .NET CLR 2.0.50727) I should also mention it fails with the line #722 'Wrong number of arguments or invalid property assignment' in both IE6 and IE7. -- Brandon Aaron ___ jQuery mailing list discuss@jquery.com http://jquery.com/discuss/
Re: [jQuery] [Fwd: jquery bug 164]
I just set up a test case that fails roughly using your test case as a model. I tested it based on todays svn and it fails in IE6. Can you test it against the older versions. Okay, the test case is updated. After a trip through Google CodeSearch I now boast the world's largest collection of jQuery builds. Since these were taken from random sources there's no guarantee they're untouched from the official build, but it's better than nothing. As you noticed, the test harness grabs the version number off the URL and dynamically includes that version. Any of you are welcome to draw the files directly from the site if you'd like, http://methvin.com/junk/jquery-REV.js The first one that does not die is 110: http://methvin.com/junk/jquery-xml-bug.html?501 http://methvin.com/junk/jquery-xml-bug.html?413 http://methvin.com/junk/jquery-xml-bug.html?249 http://methvin.com/junk/jquery-xml-bug.html?226 http://methvin.com/junk/jquery-xml-bug.html?218 http://methvin.com/junk/jquery-xml-bug.html?168 http://methvin.com/junk/jquery-xml-bug.html?152 http://methvin.com/junk/jquery-xml-bug.html?110 http://methvin.com/junk/jquery-xml-bug.html?29 I did notice that it doesn't actually show any text in that case. The selector should have selected something out of the XML, right? ___ jQuery mailing list discuss@jquery.com http://jquery.com/discuss/
Re: [jQuery] [Fwd: jquery bug 164] (fix?)
Okay, this version doesn't error out at least: http://methvin.com/junk/jquery-xml-bug.html?patched The fix is to change this line of attr() : Old: } else if ( elem.getAttribute != undefined elem.tagName ) { // IE elem.getAttribute passes even for style New: } else if ( typeof(elem.getAttribute) != undefined elem.tagName ) { \ I think IE is trying to _call_ elem.getAttribute for some reason, must be a bug in the COM typelib for the XML control. -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Brandon Aaron Sent: Saturday, November 04, 2006 1:01 PM To: jQuery Discussion. Subject: Re: [jQuery] [Fwd: jquery bug 164] On 11/4/06, Brandon Aaron [EMAIL PROTECTED] wrote: This is interesting. These both fail for me ... Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; .NET CLR 1.1.4322; .NET CLR 2.0.50727) I should also mention it fails with the line #722 'Wrong number of arguments or invalid property assignment' in both IE6 and IE7. -- Brandon Aaron ___ jQuery mailing list discuss@jquery.com http://jquery.com/discuss/ ___ jQuery mailing list discuss@jquery.com http://jquery.com/discuss/
Re: [jQuery] [Fwd: jquery bug 164] (fix?)
On 11/4/06, Dave Methvin [EMAIL PROTECTED] wrote: Okay, this version doesn't error out at least: http://methvin.com/junk/jquery-xml-bug.html?patched The fix is to change this line of attr() : Old: } else if ( elem.getAttribute != undefined elem.tagName ) { // IE elem.getAttribute passes even for style New: } else if ( typeof(elem.getAttribute) != undefined elem.tagName ) { \ I think IE is trying to _call_ elem.getAttribute for some reason, must be a bug in the COM typelib for the XML control. Nice. This works for me. -- Brandon Aaron ___ jQuery mailing list discuss@jquery.com http://jquery.com/discuss/
Re: [jQuery] [Fwd: jquery bug 164] (explanation)
I think IE is trying to _call_ elem.getAttribute for some reason, must be a bug in the COM typelib for the XML control. To answer my own thought, I remembered it's a problem with the way many external COM controls work because they're not native Javascript objects. This post explains the situation a bit: http://blogs.msdn.com/ericlippert/archive/2004/09/20/231852.aspx Although IE cooperates with Javascript, it seems like MSXML does not. As a result, Javascript ends up trying to call the method rather than just seeing if it exists. The take-away for jQuery: When checking for a method in a non-native COM object (MSXML, XMLHTTPRequest, others?) use typeof(x.method)==undefined and not x.method==undefined . In a quick search I didn't find any other cases of this in jQuery.js, as long as you don't jQuery.extend() a non-native COM object--and you shouldn't! ___ jQuery mailing list discuss@jquery.com http://jquery.com/discuss/
Re: [jQuery] [Fwd: jquery bug 164] (explanation)
Dave Methvin schrieb: I think IE is trying to _call_ elem.getAttribute for some reason, must be a bug in the COM typelib for the XML control. To answer my own thought, I remembered it's a problem with the way many external COM controls work because they're not native Javascript objects. This post explains the situation a bit: http://blogs.msdn.com/ericlippert/archive/2004/09/20/231852.aspx Although IE cooperates with Javascript, it seems like MSXML does not. As a result, Javascript ends up trying to call the method rather than just seeing if it exists. The take-away for jQuery: When checking for a method in a non-native COM object (MSXML, XMLHTTPRequest, others?) use typeof(x.method)==undefined and not x.method==undefined . In a quick search I didn't find any other cases of this in jQuery.js, as long as you don't jQuery.extend() a non-native COM object--and you shouldn't! Wow, thanks Dave! Good catch! -- Klaus ___ jQuery mailing list discuss@jquery.com http://jquery.com/discuss/
Re: [jQuery] [Fwd: jquery bug 164] (fix?)
Dave, You are Awesome! this fixes the problem in IE6. http://imaptools.com:8081/maps/demo2.html double click the map and now you can toggle between the xml and formated html under the map. Many many thanks! -Steve *happy* *happy* *smiling* *smiling* Dave Methvin wrote: Okay, this version doesn't error out at least: http://methvin.com/junk/jquery-xml-bug.html?patched The fix is to change this line of attr() : Old: } else if ( elem.getAttribute != undefined elem.tagName ) { // IE elem.getAttribute passes even for style New: } else if ( typeof(elem.getAttribute) != undefined elem.tagName ) { \ I think IE is trying to _call_ elem.getAttribute for some reason, must be a bug in the COM typelib for the XML control. -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Brandon Aaron Sent: Saturday, November 04, 2006 1:01 PM To: jQuery Discussion. Subject: Re: [jQuery] [Fwd: jquery bug 164] On 11/4/06, Brandon Aaron [EMAIL PROTECTED] wrote: This is interesting. These both fail for me ... Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; .NET CLR 1.1.4322; .NET CLR 2.0.50727) I should also mention it fails with the line #722 'Wrong number of arguments or invalid property assignment' in both IE6 and IE7. -- Brandon Aaron ___ jQuery mailing list discuss@jquery.com http://jquery.com/discuss/ ___ jQuery mailing list discuss@jquery.com http://jquery.com/discuss/ ___ jQuery mailing list discuss@jquery.com http://jquery.com/discuss/
Re: [jQuery] [Fwd: jquery bug 164] (explanation)
To answer my own thought, I remembered it's a problem with the way many external COM controls work because they're not native Javascript objects. This post explains the situation a bit: http://blogs.msdn.com/ericlippert/archive/2004/09/20/231852.aspx Although IE cooperates with Javascript, it seems like MSXML does not. As a result, Javascript ends up trying to call the method rather than just seeing if it exists. Hmm... That's not what Eric's blog post says: - - - - - So here's what happens when you say foo = document.write; First, JScript attempts to resolve document. It can't find a local or global variable called that, so it asks the global window object for the document property. IE gives back the document object. JScript then asks the document object to give back the value of the write property. IE creates an object which has a default method. The default method calls the write function, but no one calls the method yet -- we just have an object which, when invoked, will call the mehtod. JScript assigns the object to foo. Then when you call foo(hello); JScript invokes the default method on the object, which calls the write method. The WSH object model was not designed with this in mind. It does not make a distinction between naming a function and calling it, so you can't use this trick. WScript.Echo; does not give back a function object that can be invoked later. - - - - - In other words, in *WSH* you can't just take a reference to a function like WScript.Echo without actually calling it. But IE creates a shim object just for this purpose - so you can save a reference to document.write and similar methods without calling them. The take-away for jQuery: When checking for a method in a non-native COM object (MSXML, XMLHTTPRequest, others?) use typeof(x.method)==undefined and not x.method==undefined . In a quick search I didn't find any other cases of this in jQuery.js, as long as you don't jQuery.extend() a non-native COM object--and you shouldn't! I wasn't following the discussion, so I'm not saying your conclusion isn't valid - just that Eric's article doesn't seem to indicate that this would be required. Perhaps this case is different from the document.write example he gave? -Mike ___ jQuery mailing list discuss@jquery.com http://jquery.com/discuss/
Re: [jQuery] [Fwd: jquery bug 164] (explanation)
Although IE cooperates with Javascript, it seems like MSXML does not. As a result, Javascript ends up trying to call the method rather than just seeing if it exists. Hmm... That's not what Eric's blog post says: ... But IE creates a shim object just for this purpose - so you can save a reference to document.write and similar methods without calling them. ... Perhaps this case is different from the document.write example he gave? I think what's happening with MSXML is the same as what happens with WSH. The IDispatch in the MSXML ActiveX object is trying to invoke the method when Javascript really just wants to see if the method exists. The error message 'Wrong number of arguments or invalid property assignment' seems to reinforce that. The comments in that blog post have more discussion on the topic that I think apply here. IE's non-native implementations of things like MSXML are really annoying but unfortunately seem to be within the letter of the standards. It's just annoying that you can't add object references to these objects without memory leaks, and that they don't have .constructors, and that they aren't proper Javascript functions so you can't Function.apply() them for example. ___ jQuery mailing list discuss@jquery.com http://jquery.com/discuss/
[jQuery] [Fwd: jquery bug 164]
Clem, As far as I know this is still an open issue. I am hoping the one of the developers that has some expertise in IE will take pity on us and try to fix this bug sooner rather than later ;). This was not a problem pre 1.0.0, but I'm sure a lot of code has change since then which has resulted in this bug. The thanks go to the jQuery team, not me. These guys are way smarter then me and are generating a very awesome package. Best regards, -Steve Original Message Subject: jquery bug 164 Date: Fri, 03 Nov 2006 19:42:28 +0100 From: Clément Beffa [EMAIL PROTECTED] To: [EMAIL PROTECTED] Hi, I'd would like to know if possible what is the status on the bug 164 in jquery. As I've a new project at uni were I'm using jquery in order to support most of browsers. However with this bug i can't use .attr() on XML object in IE, which is really bad. It crash in : - } else if ( elem.getAttribute != undefined elem.tagName ) { // IE elem.getAttribute passes even for style - This is really a blocker for me. Will there be a fix or jquery design is the problem? Do you have some dirty tricks to make it works even if it breaks other part of jquery, as i'm probably not using the whole thing ? Thanks you very much for your work, Clem ___ jQuery mailing list discuss@jquery.com http://jquery.com/discuss/
Re: [jQuery] [Fwd: jquery bug 164]
I'd would like to know if possible what is the status on the bug 164 in jquery. As far as I know this is still an open issue. I am hoping the one of the developers that has some expertise in IE will take pity on us and try to fix this bug sooner rather than later ;). If it's being ignored that either means it's hard, it's not fun, or both. :) Was the problem the .getAttribute(..., 2) in .attr()? That was probably put in as a patch to the situation where IE fiddles with href attributes unless you call it like .getAttribute('href', 2). Maybe you could just take out the second argument as a workaround for now? It's worth a try. Perhaps a permanent fix would be to only use the two-arg form of getAttribute if it's one of the troublesome attributes like href. I guess there is no way to know if we're working on an XML document? ___ jQuery mailing list discuss@jquery.com http://jquery.com/discuss/
Re: [jQuery] [Fwd: jquery bug 164]
On 11/3/06, Dave Methvin [EMAIL PROTECTED] wrote: Was the problem the .getAttribute(..., 2) in .attr()? That was probably put in as a patch to the situation where IE fiddles with href attributes unless you call it like .getAttribute('href', 2). Maybe you could just take out the second argument as a workaround for now? It's worth a try. This has already been removed in the latest revision. Not sure exactly when it happened. -- Brandon Aaron ___ jQuery mailing list discuss@jquery.com http://jquery.com/discuss/
Re: [jQuery] [Fwd: jquery bug 164]
Dave Methvin wrote: I'd would like to know if possible what is the status on the bug 164 in jquery. As far as I know this is still an open issue. I am hoping the one of the developers that has some expertise in IE will take pity on us and try to fix this bug sooner rather than later ;). If it's being ignored that either means it's hard, it's not fun, or both. :) Yeah, I figured as much. But hey, no pain, no gain! The bigger the challenge, the bigger the glory! ;) or something like that. Was the problem the .getAttribute(..., 2) in .attr()? That was probably put in as a patch to the situation where IE fiddles with href attributes unless you call it like .getAttribute('href', 2). Maybe you could just take out the second argument as a workaround for now? It's worth a try. Perhaps a permanent fix would be to only use the two-arg form of getAttribute if it's one of the troublesome attributes like href. I guess there is no way to know if we're working on an XML document? I think there are actually more than one problem here. I can't speak to Clem's problem, but my is that the that xpath searches on xml documents are failing in IE as documented in the bug. I spent about two days poking at it in IE, but I just don't have the knowledge or experience to sort out this type of problem. So I'm just stuck until some of you wizards put you minds to squashing this bug. Many thanks to all of you that work so hard to make jQuery so wonderful. I really love working with it. -Steve ___ jQuery mailing list discuss@jquery.com http://jquery.com/discuss/