2007년 07월 05일
ExternalInterface vs getURL
오늘 퇴근길에 회사에서 전화가 오더군요..
"퇴근 하셨나요.. 이거 왜 이러나요?"
뭐 이런 내용이였는데 즉 플래시와 javascript 간의 통신상의 문제인듯 했다.
위 두 코드의 관계를 파악하면 금방 아실 수 있을 것이다.
플래시의 a_btn 버튼을 클릭하면 javascript의 download 를 호출하여 어떠한 파일의 다운로드를 시도할 것이고
b_btn 버튼을 클릭하면 방법 1~3 중 하나의 방법을 넣었다고 가정할 때, 브라우저상이 hello라고 찍힌 alert창을 띄우는 것이다.
b_btn 버튼상의 방법 1~3의 기능은 모두 동일하다.
나의 경우에는 js에 따로 함수를 만들어 쓰지 않아도 되기에 방법 1의 코드를 즐겨 사용하곤 하는데 이 방법을 씀으로 해서 문제가 발생한 듯 했다.
[이슈]
b_btn 버튼의 이벤트 핸들러에 방법 1 또는 방법 2를 사용 했을 때 이슈 발생
- b_btn을 클릭하면 "hello"라고 찍힌 alert 창이 나타난다.
- a_btn을 클릭하여 임의의 파일을 다운로드를 시도한다.(승인을 하든, 취소를 하든 중요치 않다. 다운로드 시도를 하는것이 중요하다)
- 다시 b_btn을 클릭하면 "을 다운로드 할 수 없습니다. 지정되지 않은 오류입니다" 라는 경고창이 발생한다.
집에와서 테스트 해 본 결과 방법 3으로 하면 아무런 문제가 발생하지 않지만 원인 파악이 안된다.
ExternalInterface와 getURL을 혼용함으로서 일어난 문제일까?
암튼 출근하자 마자 저 부분부터 수정해야겠다.
현재 저런 문제를 안고 있는 상태로 오픈 중이다..
조금만 더 일찍 연락이 왔더라면.. 버스가 회사앞을 떠나자마자 전화가 왔으니 말이죠.
어째뜬 이 일로 느낀전...
js 함수 만들기 쬐금 귀찮더라도 ExternalInterface로 무조건 올인.
AS3.0에선 getURL은 사라졌는데 슬슬 getURL 함수와의 이별연습을 해야지..
# by | 2007/07/05 01:36 | Flash | 트랙백 | 덧글(2)







☞ 내 이글루에 이 글과 관련된 글 쓰기 (트랙백 보내기) [도움말]
현재 텍스트파일로 연동되어 getURL로 링크된걸 ExternalInterface로 바꿔야하는데
꼭js함수파일로만 만들어야하는지...
아니면 html 의 <script/> 태그 내에 직접 js 함수를 작성하셔도 됩니다.