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.
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…
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 🙂