Aufrufen einer ActionScript-Funktion über Javascript

Ich versuche, eine Funktion aufzurufen, die in einer Aktion Skript mit der ExternalInterface.addCallback - API, aber ich kann nicht scheinen, um es zu arbeiten. Hier ist, was ich habe:

ActionScript:

//MyClass.as  
package {

    import flash.display.Sprite;
    import flash.external.ExternalInterface;

    public class MyClass extends Sprite
    {
        public function MyClass()
        {
            ExternalInterface.addCallback('getStringJS', getStringAS);
        }

        public function getStringAS():String
        {
            return "Hello World!";
        }
    }
}

HINWEIS: ich bin zu kompilieren in eine swf-Datei mit der flex mxmlc-compiler, falls jene Gegenstände.

HTML/Javascript:

<!doctype html>
<html>
    <head>
        <title>User Identification</title>
    <head>
    <body>
        <object id="MyClass" name="MyClass" type="application/x-shockwave-flash" data="MyClass.swf" width="1" height="1">
            <param name="movie" value="MyClass.swf">
            <embed src="MyClass.swf" width="1" height="1">
        </object>
        <script type="text/javascript">
            var flash = document.getElementById("MyClass");
            var str = flash.getStringJS();
            alert(str);
        </script>
    </body>
</html>

Die Fehler ich erhalte, ist:

Uncaught TypeError: Object #<HTMLObjectElement> has no method 'getStringJS'

Ich auch versucht, indem in ein timeout im Fall der swf-Datei nicht laden, aber ich hatte keinen Erfolg mit dieser Methode.

Irgendwelche Gedanken?

Jubel

Mike

InformationsquelleAutor Swift | 2011-06-01
Schreibe einen Kommentar