Sicher, universal, Weg, um addEventHandler in Javascript?

Bevor ich in die details von diesem problem, würde ich mag, um die situation klar. Unsere web-analytics-Unternehmen und arbeitet als Berater für große Websites, und (anders als das hinzufügen einer einzigen SCRIPT-tag) wir haben keine Kontrolle über die Seiten selbst.

Unserer bestehenden Skript installiert Handler mit "alten" Weg (eine schicke version von element.onclick = blabla; das führt gleichzeitig die original-handler), die keine Ahnung von "neuen" (addEventListener oder attachEvent) - Handler auf der Seite. Wir möchten dieses Problem zu beheben, um unser Skript ausführen können, auf mehrere Standorte, ohne dass da viel kundenspezifische Entwicklung.

Der erste Gedanke war hier, in unserem eigenen Skript, verwenden Sie die addEventListener/attachEvent, aber dies stellt ein problem: der client-Seite setzt einen handler mit dem "alten" Weg, es würde wischen Sie die handler installiert, der "neue" Weg. Quick-and-dirty-Tests zeigt dies geschieht sowohl IE7 und FF3, obwohl ich bisher nicht testen Sie die ganze Palette von Browsern. Auch besteht die Gefahr, dass, wenn wir die "neue" Art und Weise nach der Seite event-Handler bereits gesetzt sind, könnten wir löschen Sie Ihren Handler.

Also meine Frage ist: was sichere Methode kann ich verwenden, um fügen Sie einen event-handler in Javascript mit addEventListener/attachEvent das funktioniert unabhängig davon, wie andere event-Handler auf der Seite sind installiert?

Bitte denkt daran: wir haben keine Möglichkeit, eine änderung der Website, dass unser Skript installiert ist. (Ich muss betonen, dass, weil die Standard-Antwort auf Fragen wie diese, ist immer, "nur umschreiben der Seite, alles zu tun, die gleiche Weise.")

InformationsquelleAutor blakeyrat | 2008-10-21
Schreibe einen Kommentar