제대로 된 설명이 부족해서, 하루동안 고생했네요. 혹시나 같은 문제로 고민하시는분이 있지 않을까해서 플래시 액션스크립트 3.0과 자바스크립트 연동에 관한 팁을 적어볼까 합니다.
자바스크립트와 html 부분
<script type="text/javascript">
function CallJava(msg) {
alert(msg);
return true;
}
function CallFlash() {
// 플래쉬 객체잡기 (플래쉬를 넣은방식에 따라 달라지겠죠?)
var flash = document.getElementById("flash");
flash.FlashAction(msg);
}
</script>
<ebmed src="flash.swf" id="flash"></embed>
function CallJava(msg) {
alert(msg);
return true;
}
function CallFlash() {
// 플래쉬 객체잡기 (플래쉬를 넣은방식에 따라 달라지겠죠?)
var flash = document.getElementById("flash");
flash.FlashAction(msg);
}
</script>
<ebmed src="flash.swf" id="flash"></embed>
플래시파일 (flash.swf)
// 자바스크립트 호출하기
var returnValue = ExternalInterface.call("CallJava","하이");
// '하이'라는 메세지를 자바스크립트의 CallJava 함수의 msg 변수로 전달합니다.
그리고 자바스크립트의 CallJava 함수에서 return true; 즉, 리턴된 true 값이 액션스크립트의 returnValue 에 저장됩니다.
// 자바스크립트에서 플래시 액션스크립트의 함수를 호출할 수 있도록 정의
function FlashAction(msg:String):void {
trace(msg);
}
ExternalInterface.addCallback("FlashAction", FlashAction);
// 위의소스처럼 하면 자바스크립트의 CallFlash에서 액션스크립트의 FlashAction 함수를 호출할 수 있다.
var returnValue = ExternalInterface.call("CallJava","하이");
// '하이'라는 메세지를 자바스크립트의 CallJava 함수의 msg 변수로 전달합니다.
그리고 자바스크립트의 CallJava 함수에서 return true; 즉, 리턴된 true 값이 액션스크립트의 returnValue 에 저장됩니다.
// 자바스크립트에서 플래시 액션스크립트의 함수를 호출할 수 있도록 정의
function FlashAction(msg:String):void {
trace(msg);
}
ExternalInterface.addCallback("FlashAction", FlashAction);
// 위의소스처럼 하면 자바스크립트의 CallFlash에서 액션스크립트의 FlashAction 함수를 호출할 수 있다.
소스에서 색깔로 구분된 부분을 서로 일치시켜 주면 됩니다. :)
유용하게 사용하세요~!
'이럴땐, 이렇게! > 프로그래밍' 카테고리의 다른 글
| Editplus에서 C++ 컴파일러 연동 (0) | 2008/03/10 |
|---|---|
| ExternalInterface.addCallback 버그해결볍 (1) | 2008/02/02 |
| 액션스크립트 3.0과 자바스크립트 연동하기 (0) | 2008/01/24 |
| IE와 FF에서 똑같이 보이게 하기 위한 몇가지 팁 (30) | 2008/01/23 |
| myEolin 추천/북마크 버튼 디자인 바꾸기 (15) | 2008/01/19 |
| 많이 쓰이는 CSS 핵 (13) | 2008/01/15 |





댓글을 달아 주세요