Ticket #6842 (closed bug: fixed)
Expando Collision Possible With noConflict()
|Reported by:||SlexAxton||Owned by:||SlexAxton|
|Keywords:||expando, collision, noconflict, needsreview||Cc:|
If a page has two copies of jQuery, the jQuery expando property can still collide between these two copies even if noConflict is called. This has always been the case, but it hasn't really been feasible until some of the new V8 builds.
The expando is based off of the current millisecond:
var expando = "jQuery" + now()
This reference is available on the jQuery object, but private references exist, so it's not entirely patchable at this point, from the outside.
This would presumably be bad anywhere that unique expandos are necessary.
Test Case Here: http://jsbin.com/ifone
Proof that it's getting too close to ignore: http://slexaxton.com/pix/afe1.png
- Priority set to high
- Status changed from new to open
- Version changed from 1.4.2 to 1.4.3
- Milestone changed from 1.4.3 to 1.5
- Keywords noconflict, needsreview added; noconflict removed
- Owner set to SlexAxton
- Status changed from open to assigned
comment:10 Changed 3 years ago by Alex Sexton
- Status changed from assigned to closed
- Resolution set to fixed