Side navigation
#11829 closed bug (worksforme)
Opened May 29, 2012 01:34AM UTC
Closed May 29, 2012 02:34AM UTC
isArray bug IE6 and IE7
| Reported by: | les.szklanny@gmail.com | Owned by: | rwaldron |
|---|---|---|---|
| Priority: | undecided | Milestone: | None |
| Component: | unfiled | Version: | 1.7.2 |
| Keywords: | Cc: | ||
| Blocked by: | Blocking: |
Description
I'd like to point out an obscure IE6 and IE7 bug in the isArray function.
The call below will display [object Object], not [object Array], so the Ext.isArray() call will fail in this case.
if (window.opener) {
var test = Object.prototype.toString.call(window.opener.testArr);
alert(test);
}
See a discussion here, search for 'Richard Cornford explains'
http://perfectionkills.com/instanceof-considered-harmful-or-how-to-write-a-robust-isarray/
Also, I'd consider delegating isArray to Array.isArrary where possible, see the ECMAScript 5.1 spec
http://ecma-international.org/ecma-262/5.1/
Les
Attachments (0)
Change History (3)
Changed May 29, 2012 01:36AM UTC by comment:1
Changed May 29, 2012 02:32AM UTC by comment:2
| owner: | → rwaldron |
|---|---|
| status: | new → assigned |
Changed May 29, 2012 02:34AM UTC by comment:3
| resolution: | → worksforme |
|---|---|
| status: | assigned → closed |
Thanks for contribution, as it turns out, everything you've asked jQuery to do - it already does.
isArray: Array.isArray || function( obj ) {
return jQuery.type(obj) === "array";
},
...
type: function( obj ) {
return obj == null ?
String( obj ) :
class2type[ toString.call(obj) ] || "object";
},
Ext.isArray ---> jQuery.isArray