This is due to the JavaScript 1.6 compatibility methods added by qooxdoo to
the internal Array class. They are not added under FF, since it already
contains them. The newly added methods are iterated as object properties,
since there is no way to mark them non-iterable. The build in properties are
marked so, so they are not iterated. This is why tweaking the internal
objects is dangerous and should be avoided whenever possible. I suggest you
to change the loop. Instead on iterating on object properties with a for-in
loop itarate the array by it's integer indices.
The dangerous (wrong) solution to iterate an array:
for(var i in a) {...}
The good solution for array iteration:
for(var i=0; i<a.length; i++) {...}
The later loop will not iterate the methods added by qooxdoo.
Regards, Viktor
péntek 24 augusztus 2007 dátummal westor ezt írta:
> Hi list,
>
> please try this:
> var a = new Array();
> this.debug(a);
>
> In FF you will have an empty array, like expected.
>
> In IE6 you have an not empty Object with Code like this:
>
> --- Object: ---
> every=function(callback, obj)
> {
> ....
> }
> filter=function(callback, obj)
> {
> ....
> }
>
> This breaked my code (0.7.1) while I was iterating the Array() object and
> it was hard to detect why.
> I think it's a bug?
>
> Cheers
> Torsten
-------------------------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems? Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >> http://get.splunk.com/
_______________________________________________
qooxdoo-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/qooxdoo-devel