'AS3.0 Cookbook/브라우저 연동'에 해당되는 글 3건

  1. 2008.09.21 HTML에서 SWF파일에 변수설정
  2. 2008.09.21 브라우저에 비동기식 URL이나 자바스크립트 함수호출
  3. 2008.09.20 자바스크립트 연동
HTML에서 간간히 SWF파일에 변수를 설정해 주어야 하는경우가 자주 발생한다. user id라던가 기본 유저정보는 HTML에서 설정하여 초기에 SWF에 보내지게 되는데 HTML에 파라미터 "FlashVars"라는 곳을 찾아 보내고자
하는 변수명과 값을 URL-encoded방식으로 설정하면 된다.
과거 SWF에서 이 값이 저장 되는 곳은 _root였다 AS3환경에서는 root.loaderInfo.parameters에 저장되므로
root.loaderInfo.parameters으로 접근하여 값을 꺼내서 사용하면 된다.

컴파일시에 HTML에서는 IE체크를 하여 두가지로 플래시 파라미터를 설정하는데 양쪽 모두 선언해 주던가 공통 실행부를 찾아  FlashVars를 설정하면 된다.
Posted by 버터백통

앞서 동기식으로 자바스크립트 함수를 호출하는 ExternalInterface를 이용하여 함수를 호출하였는데 문제는 동기식이라는 것이다. ExternalInterface() 보다는 함수 연동이 약하기는 하지만 비동기식으로 자바스크립트를 호출하거나 url경로를 호출하는 navigateToURL()라는 것이 있다.

navigateToURL( URLRequest , window )으로 URLRequest와 같이 사용하며,
 window의 값은 우리가 자주 사용하는 윈도우 이름(경로)을 설정한다.
_self : 현재 윈도우의 현재 프레임을 지정합니다.
_blank : 새 윈도우를 지정합니다.
_parent : 현재 프레임의 부모를 지정합니다.
_top : 현재 윈도우의 최상위 프레임을 지정합니다.


Posted by 버터백통
AS3는  HTML에 설정되거나 로드된 자바스크립트를 호출 할 수 있으며 또한 HTML의 자바스크립트는 SWF에 설정된 AS3의 함수를 호출할 수 있다.

이 각각은 ExternalInterface를 통하여 연결되는데 ExternalInterface객체는 동기식 호출이 되므로 무거운 실행문은 html의 다른 함수에서 처리하게 하고  SWF에서 바라보는 자바스크립트 함수는 실행 처리가 가볍게 만들어 주도록 해야 한다.

SWF에서 자바스크립트 호출
ExternalInterface.call( "호출할 함수명" , 파라미터 값 );
HTML에 포함된 자바스크립트 함수는 ExternalInterface.call()을 사용하여 호출한다.

자바스크립트에서 SWF함수 호출
ExternalInterface.addCallback( "호출할 함수명" , 처리함수 );
자바스크립트에서 호출할 SWF 객체의 ID뒤에 호출할 함수명을 실행하면 SWF내부에 addCallback()으로 설정된 처리함수가 실행한다.






Posted by 버터백통