[Firefox] ExternalInterface.call() von außerhalb “der Bühne”

firefox

Man liest von ExternalInterface-Problemen, die darauf basieren, dass von Javascript aus AS-Funktionen aufgerufen werden, bevor das SWF geladen ist – etwa bei onLoad. Als Lösung gilt: “Rufe aus dem SWF heraus eine JS-Funktion auf. Dann (und erst dann) weiß JS, dass das SWF bereit ist.”

So weit, so gut.

Was man dazu wissen muss, und was man deutlich weniger schnell findet im Netz: Ein SWF, das außerhalb des sichtbaren Bereiches liegt (etwa bei “position: absolute; top: -10px; left: -10px;”), ruft im Firefox 3/Windows keine ExternalInterface-Funktion auf. Gar keine, nie. Obwohl ExternalInterface.available true ist, und obwohl das SWF eigentlich angezeigt wird.

HTH.

2 thoughts on “[Firefox] ExternalInterface.call() von außerhalb “der Bühne”

  1. das ist logisch und gut so,
    wer mit einem Flash ausserhalb der Bühne per javascript was anstellen will, ist meist ein Hacker, Spammer oder Schlimmeres.

    So ein Fall wird in der freien Wildbahn ja nie benötigit…

  2. Logisch ist das nicht – nachvollziehbar schon, aus erwähnten Gründen.
    Und falls es dann doch mal “nötig” ist (natürlich gibt es fast immer Alternativen), hilft es sicher, diese Einschränkung zu kennen 🙂

Leave a Reply

Your email address will not be published. Required fields are marked *

Ich erkläre mich damit einverstanden, dass alle eingegebenen Daten und meine IP-Adresse zum Zweck der Spamvermeidung durch das Programm Akismet in den USA überprüft und gespeichert werden. Weitere Informationen zu Akismet und Widerrufsmöglichkeiten.