Bug Tracker

Ticket #7470 (closed bug: invalid)

Opened 4 years ago

Last modified 2 years ago

Cross-Compatibility IE 7 and 8 tested

Reported by: martin@… Owned by: martin@…
Priority: undecided Milestone: 1.5
Component: unfiled Version: 1.4.3
Keywords: Cc:
Blocking: Blocked by:

Description (last modified by dmethvin) (diff)

Bug Occurs in version 1.4.2 and 1.4.3

Location to test from  http://appware.co.uk/live/showscreen.php?site_id=95&screentype=folder&screenid=1463

jQuery Code used to reproduce bug

 http://jsfiddle.net/SVy8m/

Now this has been tested in Safari, Google Chrome, IE9, IE8*, IE7*, Firefox 3, Firefox 4

  • = error is created

For some reason the code is not saving as it should be and does in other browsers

Ths code is supposed to read the elements of a list, delete them and add them as needed the problem is the elemenets are not being saved into the op._elements array or read from it correctly. as it is not placing the data into the output zone correctly.

Change History

comment:2 Changed 4 years ago by dmethvin

  • Description modified (diff)

comment:3 Changed 4 years ago by SlexAxton

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

We ask that you provide a reduced test-case without the jcarousel dependency, so we can verify that the issue is in jQuery and not jCarousel. Thank you.

comment:4 Changed 4 years ago by martin@…

  • Status changed from pending to new

Hi this is not depended on any thing,

It is home built code it is only using the jQuery Core there is nothing extra involved if you looked at the jsFiddle code you will see that,

I have just named it the same thing while developing.

But if you look at the jsFiddle code you will see it only using jQuery its not even using jQuery UI

comment:5 Changed 4 years ago by ajpiano

A) the $(), used on the second to last line, is no longer a shortcut to $(document) in jQuery 1.4, whereas it was in 1.3. That line of code doesn't make sense anymore.

B) You are initialising the settings object op as a global variable, which could cause conflicts for you later on.

C) This is not what we consider to be a valid test case. It is way too much code and moving parts for us to possibly distill ONE SIMPLE ISSUE from it. We understand that debugging IE can be a pain in the arse sometimes, but that doesn't mean that your IE bug is a jQuery bug. If you need support please go to the jQuery Forum ( http://forum.jquery.com)

D) If you can in fact distill a simple testcase (hint:a simple test case is typically not 120 lines of code) that ilustrates the issue, please do so. Otherwise this ticket will be closed shortly as invalid.

Last edited 4 years ago by ajpiano (previous) (diff)

comment:6 Changed 4 years ago by martin@…

Sorry you seem to be missing the point here.

All i am using is jQuery no Native Javascript just jQuery and it works in Chrome, Safari, Firefox, and Event IE9 but not in IE7 and IE8 and untested in IE6,

Now if the code works and all it uses is jQuery no javascript there is a problem with the cross compatibly some thing is working in the others but not the old & current versions of IE means that some thing breaks in one of the calls fails to work in IE ok the test case is not the best but you should not invalid the bug as there is defiantly a bug there as a fellow developer i would not ignore a bug ok i might not be able to work on it but i would leave it to see if any one else can find any information on what is creating the bug.

comment:7 Changed 4 years ago by ajpiano

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

This bug tracker exists because we do not want to ignore bugs. The tickets that come into the tracker are reviewed by a group of people with collective years of experience developing with jQuery and JavaScript, debugging jQuery problems, dealing with cross-browser issues. We want to know about any and all jQuery bugs.

If we examine a test case and are not easily able to discern the bug that is being reported, or any bug at all, we will return it to be simplified, as was the case here. If our collective judgment indicates to us that the bug is not in jQuery, but rather in user code, we will not attempt to debug that issue further, and you are welcome to post your support issue in the forums. ( http://forum.jquery.com)

Because the tracker is a crucial tool for developing jQuery, we cannot leave bugs we know to be invalid open for indefinite periods of time in the hopes a random stranger decides to investigate it on day.

Version 0, edited 4 years ago by ajpiano (next)

comment:8 Changed 4 years ago by martin@…

Ok i have tried to be helpfull and polite now your rudeness is annoying me you want a smaller test case here

 http://jsfiddle.net/barkermn01/SVy8m/2/

Was that hard all i have done is removed the click evens and the users error checking as if you could flaming read you would see

"problem is the elements are not being saved into the op._elements array or read from it correctly"

Which means I told you it was on the code's execution. so if any one looked that the code they could have seen all the needed to do was remove the click event, as I have updated for you its code size is

As to the use of $() I no it does not link to the document I know and don't want it to I just want to access the jQuery Core not an element though the core.

Last edited 4 years ago by jitter (previous) (diff)

comment:9 Changed 4 years ago by jitter

@martin

I must say I have seldom encountered someone like you. Who simply is unwilling to follow  How to report bugs and provide a reduced test case. Instead you start insulting the staff because we don't debug a cross-browser issue in a code pile of yours. It's nothing uncommon that some code works in most browsers but not IE. This has nothing to do with jQuery. If it breaks in IE the cause is most likely IE.

Until proven otherwise you should have reduced to find out what/where it breaks in IE and then check if it's something jQuery needs to workaround or doesn't.

So hadn't you been too lazy to do that you would have come up with this  test case. This is also a nice example what we understand by reduced test case (6 lines of js and a bit of markup).

So here we can see that IE looses the reference to the contents of the li's when setting the innerHTML of the ul (all other browsers don't). So this isn't a jQuery bug but an IE bug. Just use clone()

In your code to fix it that would be

$("li", op.list).each(function(){
    $(this).css({position:'relative'});
    //using clone() fixes the IE problems
    op._elements[op._elements.length] = $(this).clone();
});

So by reducing your code and trying clone() you could have saved us and yourself time and nerves

comment:10 Changed 4 years ago by anonymous

Ok thanks for that it avoided the problem.

Now i'm not trying to be a dick i'm try to prove the point that when you say Cross-Compatibility you mean Cross-Browser  http://en.wikipedia.org/wiki/Cross-browser

Now as your a jQuery is a library i should not have to add code to support IE that's jQuerys job now i am very grateful for that fix but you added code just to support IE now that is a bug by what jQuery advertises as. if you have to add code to add support for IE its not Cross-Compatibility / Cross-Browser as my code that worked with every other browser excluding IE7, IE8 and untested in IE6,

So again thanks for the fix, but please see my point.

comment:11 Changed 4 years ago by rwaldron

You're point is still inapplicable. Your argument that we've "added code just to support IE" is simply incorrect as it implies that we've provided some means that falls outside of the jQuery API. So, just like using the right tool from your toolbox for the job at hand, clone() is part of the jQuery API and serves it's purpose well.

Please try to be more respectful to those that wish to help you solve your issues. This particular issue SHOULD have been posted on forum.jquery.com, but we helped anyway. Keep in mind that we are volunteers as well and written abuse and flaming will not be tolerated.

Be excellent to each other.

Note: See TracTickets for help on using tickets.