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
Change History (11)
comment:6 Changed 6 years ago by snover
- Milestone changed from 1.4.3 to 1.5
- Priority set to high
- Status changed from new to open
- Version changed from 1.4.2 to 1.4.3
comment:9 Changed 6 years ago by SlexAxton
- Owner set to SlexAxton
- Status changed from open to assigned
comment:10 Changed 6 years ago by Alex Sexton
- Resolution set to fixed
- Status changed from assigned to closed