피트가 말한 것처럼 ExternalInterface은 SWF와 주변 HTML 페이지 간의 함수 호출을 만들기 위해 반드시 필요한 요소입니다.
swfobject을 사용하면 브라우저 간 호환 SWF를 페이지에 동적으로 포함하거나로드 할 수 있습니다.
난 당신이 여기 찾고있는 두 가지 기능의 작은 데모했습니다
: 당신이 할 수는 HTML/JS 측에 대한
import flash.external.ExternalInterface;
var recording:Boolean = false;
//These are two TextFields instantiated on the stage as visual indicators
recordingTF.visible = false;
notRecordingTF.visible = true;
function recording_toggle():void {
recording = ! recording;
//Your actual record start/stop code would go here//
recordingTF.visible = recording;
notRecordingTF.visible = ! recording;
}
if (ExternalInterface.available) {
//This registers the AS3-side function to the JS-side reference
ExternalInterface.addCallback("recording_toggle", recording_toggle);
}
: http://akineticblog.com/fl/ExtIntDemo/index.html이
이에 대한 AS3 코드입니다 아이디와 div
를 교체, 당신은 SWF에서로드 할 때 호출 할 수 -
function swf_load() {
swfobject.embedSWF("ExtIntDemo.swf", "flashMovie", "500", "250", "10.1", "swf/expressinstall.swf", flashvars, params, attributes);
};
가 : 위의 링크의 페이지 소스를 확인하지만, 주요 부분은 '플래시 무비'.
그리고 :
<button onclick="flashMovie.recording_toggle()">Toggle recording</button>
- 는 SWF 자체에 'recording_toggle'함수 호출을 보낼 수 있습니다.
버튼을 클릭 할 때 기성 SWF를 "로드"할 수있는 방법이 있습니까? – wrahool
페이지의 사이트에 이미있는 SWF가로드 되었습니까? 아니면 SWF를 동적으로 포함 하시겠습니까? SWF 만 포함하려는 경우 [SWFObject] (https://code.google.com/p/swfobject/) -library를 사용할 수 있습니다 ([예제] (http : // stackoverflow 참조). .com/a/137349/2138943)). 어쨌든 SWF에 무언가를하는 JavaScript 버튼을 원한다면 ExternalInterface를 사용해야합니다. –