[wp-hackers] Prototype.js and Amazon Link-Enhancer Conflict

Sam Angove sam at rephrase.net
Sat Dec 16 15:50:56 GMT 2006

On 12/17/06, Mike Koepke <mkoepke1 at mikekoepke.com> wrote:
> We have both isolated the issue to the inclusion of the Amazon script
> along side of prototype.js.   As WP 2.1 will be including prototype.js,
> I thought I'd point out the potential problem to others in the future
> and see if someone has a fix for the conflicts.

It might have something to do with the `for in` loops in the link
enhancer JavaScript, e.g. `for (var locale in imp)` on line 207.

Basically, it's not safe to use `for in` to loop over arrays without
extra type checking, because any third-party JavaScript can wreak
havoc by extending the object prototype. That looks like what's
happening here. There was quite a bit of drama last year over
Prototype.js breaking people's scripts:


If that is the problem, the Amazon code has to be changed. There's a
succinct explanation (and explanation of the fix) here:


More information about the wp-hackers mailing list