Ticket #6488 (closed bug: fixed)
isPlainObject fails on IXSLTProcessor in IE
| Reported by: | tswaters | Owned by: | |
|---|---|---|---|
| Priority: | undecided | Milestone: | 1.4.3 |
| Component: | core | Version: | 1.4.2 |
| Keywords: | isPlainObject, ie, XSLTemplate | Cc: | |
| Blocking: | Blocked by: |
Description
I noticed this receiving an "object doesn't support this action" error when using $.ajax. It turns out, the underlying cause was an ActiveX objected nested deep within the context parameter. I'm not sure if any other ActiveX objects would cause this error... I found the problem with a progid of "Msxml2.XSLTemplate"
The problem can be isolated with the following:
var clsID = "Msxml2.XSLTemplate"; var oTest = new ActiveXObject(clsId); try{ $.isPlainObject(oTest); } catch(e) { /*object doesn't support this action*/ }
Actually, I did a search and the changes under Ticket #5669 fix the problem.
http://github.com/jquery/jquery/commit/67b3be24e1215609cca524ee8158fc7e6e80db93
Change History
comment:2 Changed 3 years ago by addyosmani
- Priority set to undecided
- Status changed from new to closed
- Resolution set to fixed
The changes referred to in Ticket #5669 (which addresses this issue) have since been marked as fixed and reference this ticket (#6488) as another source of where problems were also addressed. As this contained information which wouldn't classify it as a 100% duplicate I am marking this ticket as fixed.
Please follow the bug reporting guidlines and use jsFiddle when providing test cases and demonstrations instead of pasting the code in the ticket.

How does a non-Javascript object make it into isPlainObject()? Can you provide a complete example?
I think a host ActiveX object reports typeof(x)=="unknown" and it might be possible to check for that.