ALL ABOUT ME

Javascript :: SWFObject로 Embed후 ExternalInterface통신시 IE6.. 본문

Lab

Javascript :: SWFObject로 Embed후 ExternalInterface통신시 IE6..

threeword 2010. 3. 30. 15:29

Flash나 Flex로 만든 컨텐츠 결과물인 SWF파일을 HTML 상에 Embed 하기 위해 <embed>태그나 <object>태그를 사용한다.

브라우져마다 쓰이는 태그가 다르니깐.... 그에 대해 크로스 브라우징에 대해 생각하지 않고 간단한 Javascript 프레임워크로 HTML상에 Embed 할 수 있게 해주는 SWFObject가 있다.

 

SWFObject에 대한 설명은  아래 링크를 참고하자.

http://blog.naver.com/logon77/110011578861

 

공식 사이트는

http://blog.deconcept.com/swfobject/

이다.

 

이 프레임워크는 MIT 라이센스를 가지므로 어디서나 어떻게 쓰든 상관없다.

SWFObject를 쓰는 이유는 Embed하는데 브라우져 특성을 생각할 필요가 없다는 것이 가장 중요하지만

각종 Parameter및 Variables등을 아주 쉽게 등록하는게 매력이다.

 

SWFObject를 이용해 HTML에 Embed한 SWF와 Javascript와 통신하기 위해

우리가 잘 알고 있는 ExternalInterface를 이용한다는 것은 잘 알고 있을 것이다.

문제는 Flex Builder가 설치된 곳에서는 문제 없이 통신을 할 수 있었다.

 

문제는 일반인들 컴퓨터이다.

Flex나 Flash에서 ExternalInterface.addCallback()으로 등록한 함수는 Javascript에서 호출할 수 있어야 하지만

SWFObject를 통해서 Embed한 SWF는 Internet Explorer 6,7 에서 안된다는 것이다!!!!!!! 망할 IE!

 

이것때문에 무척 고민하다가 해결해 줄수 있는 프레임워크를 찾았다!!!!!

SWFFormFix 2.0 자바스크립트 프레임워크였다.

 

공식사이트

http://teratechnologies.net/stevekamerman/index.php?entry=entry070101-033933

 

관련 예제

http://devel.teratechnologies.net/swfformfix/extinterface-swfformfix2.php

 

공식사이트가면 예제와 js 프레임워크를 다운받을 수 있다.

하여튼 ExternalInterface의 addCallback()으로 등록된 함수가 제대로 안되는 문제는

어떤 시점문제인 것 같다. 생성되는 시점과 많이 연관되어 있다는것이다.

자세히는 좀더 공부해봐야겠지만 해결할 수 있어서 얼마나 기쁜지.... ㅋㅋ

 

부디 좋은 팁이였으면 한다.

 

글쓴이 : 지돌스타 http://blog.jidolstar.com

 

ps. 서버이전후 새로운 DNS 설정했는데 도메인 연결이 오래걸리네요.... 그래서 Flexdocs와 제 블로그 접속이 현재는 불가입니다. 빨리 복구되었으면 하는 바램이네요...

 

즐거운 주말 보내요~~~ ^^;

Comments