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 7 years ago by
|Milestone:||1.4.3 → 1.5|
|Status:||new → open|
|Version:||1.4.2 → 1.4.3|