Man lernt ja nie aus – komplexe Systeme sind bekanntlich nicht einfacher zu testen als, ja eben einfache. Plötzlich funktioniert eine Webapplikation nicht mehr richtig. Angeblich sei die JavaScript variable „Call“ bereits definiert. Und die gewünschten Funktionen ließen sich nicht aufrufen, weil die gäbe es dann doch nicht.

redeclaration of const Call
http://localhost:8085/javascript/calls.js
Line 1
Call.Initialize is not a function
http://localhost:8085/entry.do
Line 1

Und, wer ist Schuld? Keiner? Die Anwendung wurde nicht geändert. Aber der Browser! Firefox 3, Venkman, Google Gears, FirePHP, VideoDownloadHelper, usw. usf.

Immerhin konnte ich dank Firebug relativ schnell herausfinden, dass tatsächlich die Variable belegt wird (und lediglich eine Window Referenz enthält), und es sich nicht um einen Programmierfehler in meiner Anwendung handelt. Durch flockiges ausprobieren war dann FirePHP identifiziert.

Vielleicht wäre es ganz gut, wenn Addons sich einen eigenen Namensraum für Variablen basteln (a la Gears), um unerwünschte Seiteneffekte zu vermeiden.

Und jetzt kann ich mich um das eigentliche Problem kümmern.

Update:
Der FirePHP Entwickler, Christoph Dorn, hat prompt und sehr hilfsbereit reagiert. (Thumbs up!) Das amüsante an der Situation ist: Er kann sich das Verhalten nicht erklären – jedoch reproduzieren. Es handelt sich um einen Seiteneffekt (sic!) der scheinbar durch die Verwendung von jQuery in FirePHP ausgelöst wird. Da nur ein kleiner Teil der jQuery Funktionalität verwendet wird, plant Christoph diesen Teil separat zu verwenden und jQuery herauszunehmen.

Update 2:
In der neuen beta Version 0.2 ist das Problem behoben, ich weiß nicht, ob Christoph die jQuery Funktionalität reimplementiert hat, oder jQuery jetzt anders verwendet. Jedenfalls freue ich mich über den guten Support, und darüber durch mein Feedback mitgeholfen zu haben.