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