플래시 cs3, 액션스크립트가 이벤트를 자바스크립트로 보내도록 하려면 어떻게 해야 하나요?

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

  •  09-06-2019
  •  | 
  •  

문제

내 사이트에서 .flv 영화 클립을 재생하기 위해 Flash를 사용하고 있지만 로드가 시작되고 재생이 시작되고 재생이 끝날 때 .swf 전송이 내 자바스크립트에서 이벤트를 트리거하도록 하고 싶습니다.

Actionscript 3.0을 사용하여 Flash CS3에서 이를 수행하는 가장 좋은 방법은 무엇입니까?

도움이 되었습니까?

해결책

HTML에서 "allowScriptAccess" 플래시 변수를 사용해야 합니다.아마도 "sameDomain"을 유형으로 사용하고 싶을 것입니다.크로스 도메인으로 이동하는 경우 해당 스크립팅을 가능하게 하는 'crossdomain.xml'이라는 특수 파일을 서버에서 호스팅해야 합니다(플래시 플레이어가 이를 확인합니다).자세한 내용은 다음을 참조하세요. http://kb.adobe.com/selfservice/viewContent.do?externalId=tn_14213&sliceId=2

통화는 쉬운 부분입니다.:-) 플래시 코드에서는 여기에 설명된 대로 호출을 수행하기 위해 외부 인터페이스를 사용합니다.

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

짧은 버전:당신은 말한다

외부인터페이스.call("javascriptFunction", "인수")

다른 팁

이를 수행하는 일반적인 방법은 외부인터페이스 JavaScript 메서드를 호출하는 데 사용할 수 있는 클래스입니다.

먼저 JavaScript 메소드를 정의하십시오. 예를 들면 다음과 같습니다.

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

그런 다음 적절한 시간에 JavaScript 메서드를 호출하도록 ActionScript를 수정합니다.

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

자세한 내용은 관련 Flash CS3를 참조하세요. 선적 서류 비치.

로드하고 싶지 않다면

import flash.external.*;

그래서 당신도 할 수 있습니다

getUrl("javascript:startsPlaying();");
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top