So benachrichtigen Sie den HTML-Container mit swfobject @, dass die SWF-Datei fertig i

Ich binde ein Flash-Objekt (SWF-Datei) in eine HTML-Seite ein. Das Objekt wurde in as3 geschrieben und mit Flash Builder erstellt. Sein Zweck ist es, eine Animation zu zeigen und diese dann zu beenden.

Es ist wirklich wichtig für mich, den Container darüber zu informieren, dass die Animation beendet ist, aber ich kann nichts finden, was funktioniert. Ich benutzeswfobject version 2.2.

Versuchte beide auf Chrome 40 und IE 11.

HTML (Beispiel):

<!DOCTYPE html>
<html>
<head>
    <meta http-equiv="Content-type" content="text/html;charset=UTF-8">
    <script type="text/javascript" src="js/swfobject.js"></script>
    <script type="text/javascript">
        function flashFinished() {alert('finished!');}
    </script>
    <script type="text/javascript">
        var flashVars = {}
        var flashParams = {allowscriptaccess : 'sameDomain'}
        var flashAttributes = {id : 'myflash', name : 'myflash'}
        swfobject.embedSWF('myflash.swf', 'flashObject', '960', '720', '9.0.0', 'swf/expressInstall.swf',
                flashVars, flashParams, flashAttributes);
    </script>
</head>
<body>
    <div id="flashObject">
        <p>To view this page please make sure that an updated version of Adobe Flash Player is installed.</p>
    </div>
</body>

AS3 (Beispiel):

package
{
    public class myflash extends Sprite
    {
        public function myflash()
        {
            stage.scaleMode = StageScaleMode.NO_SCALE;
            stage.align = StageAlign.TOP_LEFT;
            startPlay();
        }
        private function startPlay() : void {
            // do whatever, then make sure function finishPlay is called in the end
        }
        private function finishPlay(event:TimerEvent) : void {
            if (ExternalInterface.available)
                ExternalInterface.call('flashFinished');
        }
    }
}

Meine "flashFinished" -Funktion wird nie aufgerufen. Kann jemand vorschlagen, was ich falsch mache? Vielen Dank

Antworten auf die Frage(6)

Ihre Antwort auf die Frage