Aufruf eines externen flash-interface AS3-Funktion, die beim laden der Seite
Habe ich eine definierte Funktion in AS3-das wird genannt von client-Seite per JavaScript. Der AS3-Funktionen, einfach drucken Sie einige Wert auf SWF-Bildschirm, wenn es aufgerufen wird.
Es funktioniert, wenn ich ein onclick-event-handler für eine Schaltfläche, und rufen Sie die AS3-Funktion. Jedoch möchte ich nennen, das AS3-Funktion, sobald die Seite geladen wird. Ich bin mit Hilfe von jQuery in das Projekt, und ich stellte die Forderung an die AS3-Funktion in $(document).ready(), aber das gibt mir die folgende Fehlermeldung in FF2 firebug:
getFlashMovie("my_movie_name").my_as3_function ist nicht eine Funktion
Dann, ich habe versucht, das durch Einstellung einer onLoad-event-handler auf , aber das funktioniert auch nicht - produziert den gleichen Fehler.
So, meine Frage ist, wie rufe ich eine AS3 Funktion automatisch, sobald die Seite geladen ist? In meinem Projekt brauche ich einige client-Seite Initialisierungsinformationen, um das flash, sobald die Seite geladen ist.
InformationsquelleAutor | 2009-03-24
Du musst angemeldet sein, um einen Kommentar abzugeben.
Müssen Sie Ihre flash aufrufen einer Funktion in die Seite, um informieren Sie, dass der Blitz geladen und initialisiert, dann verwenden Sie diese als Ihre entrypoint.
In der flash:
In die Seite:
InformationsquelleAutor Mark Renouf
Wenn Sie swfObject für das einbetten der SWF-Datei (wahrscheinlich eine gute Idee, sowieso), dann können Sie Ihre addDomLoadEvent () - Funktion, die Ihnen erlaubt, etwas zu tun, sobald die SWF-Datei vollständig geladen
du bist so ein Lebensretter!
InformationsquelleAutor Scott Evernden
ich versuche nicht, zu sein ein wiseguy hier aber testen Sie Ihre Arbeit auf einem server?
externe Schnittstelle, addcallback Dosis nicht auf dem lokalen Dateisystem, und schließlich können Sie hinzufügen:
flash.system.Sicherheit.allowDomain('http://localhost');
wenn Sie mit lokalen.
😛
InformationsquelleAutor
Das problem ist, dass das Flash-Objekt nicht initialisiert ist aber, wenn die Seite fertig geladen ist. Wahrscheinlich wäre es viel sicherer, führen Sie diese Initialisierung innerhalb von AS3. Wenn Sie möchten, übergeben Sie die Werte aus der HTML-Seite verwenden flashVars.
InformationsquelleAutor David Hanak
Ich lief in dieses problem selbst vor ein paar Wochen. Die Lösung ist ziemlich simpel 🙂
Erste, Sie brauchen, um in Ihren DOM ein div
Werden Sie auch mit der jQuery Timer plugin zu Zeit Ihren laden. Nach dieser Vorbereitung werden die Dinge sehr einfach.
Das folgende Stück code wird im $(document).ready();
Später Bearbeiten: achten Sie darauf, dass die HTML-Seite geladen werden, bedeutet nicht, dass die swf geladen wurde, passiert das direkt nach der web-Seite laden Sie die komplette Veranstaltung. Auch meine Lösung basiert auf jQuery javascript-Bibliothek.
InformationsquelleAutor Bogdan Constantinescu
Antworten von beiden tweakt und Bogdan sind lebensfähig. Verwenden tweakt ' s Methode, wenn Sie haben Zugang zu Actionscript. Verwenden Bogdan ' s, wenn Sie nicht. Ich war auf der Suche nach einer alternative neben polling (wenn Sie keinen Zugriff auf die Actionscript -) aber ich war nicht erfolgreich bei der Suche nach einem bisher. Ereignisse werden hier erwähnt: http://www.adobe.com/support/flash/publishexport/scriptingwithflash/scriptingwithflash_03.html, Aber niemand scheint zu wissen, wie Sie zu benutzen sind.
InformationsquelleAutor Jonathan Hawkes
Zur Vervollständigung, Sie hätte auch zu verwenden
import flash.external.*;
damit alles funktioniert.InformationsquelleAutor nottinhill
Scheint es, wie die Sammlung von Antworten angeboten Antworten, die dieser am nächsten ist es die Gesamtheit.
Als David Hanak sagte, das flash-Objekt kann nicht zugegriffen werden, denn noch ist es zu initialisieren, obwohl ich überhaupt nicht, dass wir darauf Vertrauen muss flashvars, obwohl ich Sie Liebe.
Tweakt, ist richtig, aber nach dem Aufruf der Funktion in den javascript haben, rufen Sie die javascript-Funktion, die ruft zurück, um Ihre swf-Dateien, so wissen wir, flash fertig ist, wie es gesendet wird der erste Anruf.
InformationsquelleAutor Brian Hodge