Javascript zu flash Kommunikation
Ich versuche zum aufrufen einer Actionscript-Funktion von javascript, aber ich habe Probleme im Internet Explorer.
Ich bin mit Swiff.remote in mootools 1.2.1 aufrufen einer actionscript-Funktion, sprich:
Swiff.remote(playSwf.toElement(), 'sendResult', result, plays, name);
Dies alles funktioniert in FireFox, Safari und Opera aber ich bin immer ein "unbekannter" Fehler im Internet Explorer 6 und 7.
Ich habe versucht, mit dem Moor-standard:
window['flash'].sendResult(result, plays, name);
Ohne Erfolg.
Vielen Dank für jede Hilfe.
Daneben
- bist du mit as2 oder as3?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich bin nicht vertraut mit der Swiff-plugin, aber Sie brauchen nicht ein plugin zu nennen, flash-Funktionen aus Javascript. Es ist sogar einfacher, es zu tun nativ.
Aus WIE:
Von JS:
window
Objekt, können Sie einfach Referenz ID: work.arounds.org/calling-flash-functions-javascriptAh, hier ist die Antwort auf Ihr problem.
SO, wenn der client Internet Explorer, sollten Sie das abrufen der Film aus dem Dokument-Objekt. 🙂
Wollte diesen post Antworten, da dies kann werden, was Probleme für andere, ist dies offensichtlich nicht die Ursache Ihres Problems. Immer noch nach einer Lösung für Ihr Problem.
Aus der MooTools Docs: http://mootools.net/docs/Utilities/Swiff
Hinweis:
Die SWF-Datei muss kompiliert werden, mit der ExternalInterface-Komponente. Finden Sie in der Adobe-Dokumentation auf Externe Schnittstelle für mehr Informationen.
Action Script 2.0
Action Script 3.0
Vielleicht kann dies Ihnen helfen, sieht aus wie ein ähnliches problem, aber mit dem swfobject.
http://blog.deconcept.com/swfobject/forum/discussion/1064/swfobject-21-problems-with-externalinterface-in-ie/
Glück.
Können Sie direkt aufrufen:
Natürlich
sendResult
registriert mitExternalInterface.addCallback()
im code und die flash-Datei muss vollständig geladen werden (ansonsten werden alle Aufrufe fehlschlagen).Ein Beispiel finden Sie in diesem github repository (fancyupload): Die as3proj enthält WIE die Quelle, die die JS-remote-Aufrufe sind in Swiff.Uploader.js.
Wenn Ihr code funktioniert in allen Browsern außer dem Internet Explorer, ist es eine gute Wette, dass es ist, weil der Flash Player für IE ist ein ActiveX-plugin. Ich habe irgendwo gelesen, dass ActiveX-kommuniziert .NET-format und Flash-externe API kommuniziert in XML.
Ich versuche auch zu lernen, Javascript-Flash-Kommunikation, die auf Internet Explorer, so dass ich ' ll halten Sie alle gebucht, was ich lernen.