Wie kann ich Flash CS3 und Actionscript dazu bringen, Ereignisse an Javascript zu senden?

StackOverflow https://stackoverflow.com/questions/38408

  •  09-06-2019
  •  | 
  •  

Frage

Ich verwende Flash, um einen .flv-Movieclip auf meiner Website abzuspielen, möchte aber, dass das Senden der .swf-Datei ein Ereignis in meinem Javascript auslöst, wenn der Ladevorgang beginnt, die Wiedergabe beginnt und endet.

Was ist der beste Weg, dies in Flash CS3 mit Actionscript 3.0 zu tun?

War es hilfreich?

Lösung

Sie müssen die Flash-Variable „allowScriptAccess“ im HTML verwenden.Sie möchten wahrscheinlich „sameDomain“ als Typ verwenden.Beachten Sie, dass Sie, wenn Sie domänenübergreifend arbeiten, auch eine spezielle Datei mit dem Namen „crossdomain.xml“ auf dem Server hosten müssen, die ein solches Skripting ermöglicht (der Flash Player prüft dies).Weitere Infos unter http://kb.adobe.com/selfservice/viewContent.do?externalId=tn_14213&sliceId=2

Der Anruf ist der einfache Teil.:-) Im Flash-Code verwenden Sie ExternalInterface für den Aufruf, wie hier dokumentiert:

http://livedocs.adobe.com/flash/9.0/main/wwhelp/wwhimpl/common/html/wwhelp.htm?context=LiveDocs_Parts&file=00001655.html

Kurzfassung:du sagst

ExternalInterface.call("javascriptFunction", "argument")

Andere Tipps

Ein üblicher Weg, dies zu tun, ist mit dem Externe Schnittstelle Klasse, mit der Sie JavaScript-Methoden aufrufen können.

Definieren Sie zunächst Ihre JavaScript-Methoden, zum Beispiel:

<script language="JavaScript">
    function startsPlaying()
    {
        // do something when the FLV starts playing
    }
</script>

Ändern Sie dann Ihren ActionScript, um die JavaScript-Methode zum richtigen Zeitpunkt aufzurufen:

// inform JavaScript that the FLV has started playing
ExternalInterface.call("startsPlaying");

Weitere Informationen finden Sie im zugehörigen Flash CS3 Dokumentation.

wenn Sie nicht laden möchten

import flash.external.*;

Sie können also auch a

getUrl("javascript:startsPlaying();");
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top