Posted
Filed under Htm&Javascript
[원문]:http://xroric.tistory.com/tag/JavaScript

이 미션은 정말 힘들었던 것 같다..

flash와 웹개발언어의 연동 자체는 그렇게 어렵지 않았으나..

javascript와의 연동은 여러가지를 생각하고 적용하게 했다.

무지했던 flash와 javascript의 연동

첫번째시도.
sendAndLoad를 통한 연동
훌륭하게 실패! -> 엉뚱한 시도였다.

두번째시도.
getURL을 통한 javascript 함수 호출
성공하는 듯 보이면서 훌륭하게 실패! -> 값 전달이 안되더라..;;

세번째시도.
setVariable을 통한 연동
불안불안 하더니 실패! -> 리턴값이 너무 불안정 했다.

네번째시도.
ExternalInterface.addCallback을 통한 연동
성공도 했고 잘 되는 듯 했으나 실패! -> 이눔은 javascript 함수가 없어도 true만 주더라..

다섯번째시도.
ExternalInterface.call을 통한 연동
성공! 빠빠라밤~~

이걸 하면서 느낀점은
1. flash에서 데이터 형식은 아주 명확하게 정의하라.
2. 값을 받는 타입에 대해 꼭 예외처리를 하라
  - null과 undefined는 엄연히 다르다. 그리고 null 이 리턴값으로 들어오면 이건 null로
    처리하면 안되고 꼭 문자열 "null"로 처리하라.
    그리고 undefined는 꼭 앞에 typeof를 써 데이터 타입 자체에 대해 예외 처리를 하라.


import flash.external.*;

var fromJavascriptVal:String = String(ExternalInterface.call("setJavascriptFunc", "parameter"));
if(fromJavascriptVal == "null") {
 /*처리1*/
}
else if(typeof fromJavascriptVal == "undefined") {
 /*처리2*/
}
else {
 /*처리3*/
}

2009/12/24 13:16 2009/12/24 13:16