Problem mit swfobjects Hallo Zusammen,
ich habe ein sehr skuriles Problem mit swjobjects...
Ich binde (wie in der Dokumentation beschrieben) über den swfobject.embedSWF-Befehl eine SWF Datei ein. Hierbei handelt es sich um eine lokale Datei, welche um ?clickTag=[encodierte URL] erweitert wird.
Der Befehl sieht z. B. wie folgt aus:
swfobject.embedSWF("test.swf?clickTag=[url]", "div", "468", "60", "7.0.0");
Das Prinzip ist so, dass die clickTag-URL an die Flash Datei übergeben wird. Klickt man nun auf die Flash-Fläche, wird die übergebene URL aufgerufen (Anm.: die Flash-Datei stammt nicht von mir).
Bei meinten Tests hat dies auch immer einwandfrei funktioniert. Nun ist mir aufgefallen, dass es zu einer erhöhten Anzahl an 404er Fehlern gekommen ist. Laut den Serverlogs wird die übergebene URL + " aufgerufen, also z. B. http://www.google.de", was natürlich zu einem Fehler führt.
Um zu einer Lösung zu kommen, habe ich bereits versucht, die doppelten Anführungszeichen in einfache umzuwandeln, mit dem Ergebnis, dass statt einem doppelten, ein einfaches Anführungszeichen mit aufgerufen wird. Es ist also naheliegend, dass tatsächlich in einigen Fällen das schließende Anführungszeichen mit in die Funktion übergeben wird.
Mein großes Problem ist nun, dass ich den Fehler nicht selbst reproduzieren kann. In den Logs tauchen nur der IE 6 und der IE 7 mit diesem Problem auf, wobei es bei mir mit beiden Browsern einwandfrei funktioniert.
Komisch finde ich, dass das doppelte oder einfache Anführungszeichen überhaupt mit in der Funktion landet. Eigentlich sollte dies doch durch die Javascript-Engine gar nicht erst geschehen, unabhängig von einem Programmierfehler, welcher ggf. in der swfobjects Klasse oder der Flash-Datei ist.
Ich weiß, dass es sehr schwer ist, hier Lösungsvorschläge zu nennen, da das Problem auch in der Flash-Datei liegen kann (ich habe 4 Dateien, überall besteht das Problem. Zwischenzeitlich hatte ich die erforderliche Flash-Version auch auf 9.0.0 stehen. An einer zu alten Flash-Version sollte es somit nicht liegen), ich hoffe aber, dass ihr dennoch Vorschläge habt, wie das Problem zu lösen ist, oder zumindest wie ich der Lösung näher kommen kann.
Getestet habe ich übrigens swfobjects 2.0 und 2.1
Viele Grüße
Geändert von R4v3r (19.09.2008 um 18:04 Uhr).
|