본문 바로가기

Front Ends

크로스도메인에서 플래시 XML연동


최근 이미지로딩 및 캐싱 문제로 이미지서버를 따로 분리하는 작업을 하고 있다.

이미지에는 문제가 없지만 플래시에는 문제가 발생했다.

일단 XML을 로딩해서 쓰는 플래시에서 연동이 안되는 문제가 발생했는데.

(swf는 이미지서버에, xml은 웹서버에 위치해 있다)


즉 swf와 xml이 다른서버에 있게 되면 xml을 호출 할 수 없게 되는 것이다.

이 때는 크로스 도메인을 설정하여 xml을 호출하여야 하며 이를


크로스도메인정책파일 이라고 한다.


이문제를 해결하기 위해서는 두가지 사항을 추가해야 한다.


1. crossdomain.xml 설정

case1.

<?xml version="1.0" encoding="UTF-8" ?>
<!--  DOCTYPE cross-domain-policy SYSTEM "http://www.macromedia.com/xml/dtds/cross-domain-policy.dtd" -->
<cross-domain-policy>
    <allow-access-from domain="*.visualog.com" to-ports="*" />
</cross-domain-policy>


case 2.

<?xml version="1.0" encoding="UTF-8" ?>
 <cross-domain-policy xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="http://www.adobe.com/xml/schemas/PolicyFile.xsd">
  <allow-access-from domain="http://jstv.tv" />
  <site-control permitted-cross-domain-policies="all" />
  </cross-domain-policy>




allow-access-from domain : 허용할 도메인  ( *.허용할도메인 )

to-ports : 허용할 포트 ( * 모든포트 )

이 xml 파일을 루트 폴더 혹은 특정 폴더의 경로에 위치시켜주면된다.

자 크로스도메인xml파일을 설정했다면  이제는



2. 플래시 파일에도 허용도메인을 설정해야 한다.

액션 프레임을 만들어서

System.security.allowDomain("*");

System.security.loadPolicyFile("허용할도메인/특정폴더/crossdomain.xml");


crossdomain.xml의 경로가 루트일때는 위에
crossdomain.xml의 경로가 특정폴더 일때는 아래처럼


작성해 주면 된다.


이제 컨트롤+엔터후


서버에 올려보자!!

'Front Ends' 카테고리의 다른 글

[Facebook] Delete Account  (0) 2011.07.31
플래시에 인터넷동영상 재생  (0) 2008.11.11
카테고리 펼쳐보이기  (0) 2008.09.23
상태표시줄에 메세지 스크롤되기  (0) 2008.07.09
폰트뷰어 프로그램 (NexusFont)  (0) 2008.07.05