크로스도메인에서 플래시 XML연동
최근 이미지로딩 및 캐싱 문제로 이미지서버를 따로 분리하는 작업을 하고 있다.
이미지에는 문제가 없지만 플래시에는 문제가 발생했다.
일단 XML을 로딩해서 쓰는 플래시에서 연동이 안되는 문제가 발생했는데.
(swf는 이미지서버에, xml은 웹서버에 위치해 있다)
즉 swf와 xml이 다른서버에 있게 되면 xml을 호출 할 수 없게 되는 것이다.
이 때는 크로스 도메인을 설정하여 xml을 호출하여야 하며 이를
크로스도메인정책파일 이라고 한다.
이문제를 해결하기 위해서는 두가지 사항을 추가해야 한다.
1. crossdomain.xml 설정
[?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]
allow-access-from domain : 허용할 도메인 ( *.허용할도메인 )
to-ports : 허용할 포트 ( * 모든포트 )
이 xml 파일을 루트 폴더 혹은 특정 폴더의 경로에 위치시켜주면된다.
자 크로스도메인xml파일을 설정했다면 이제는
2. 플래시 파일에도 허용도메인을 설정해야 한다.
액션 프레임을 만들어서
System.security.allowDomain("*");
System.security.loadPolicyFile("허용할도메인/특정폴더/crossdomain.xml");
crossdomain.xml의 경로가 루트일때는 위에
crossdomain.xml의 경로가 특정폴더 일때는 아래처럼
작성해 주면 된다.
이제 컨트롤+엔터후
서버에 올려보자!!
[출처] 크로스도메인에서 플래시 XML연동|작성자 visualog
이미지에는 문제가 없지만 플래시에는 문제가 발생했다.
일단 XML을 로딩해서 쓰는 플래시에서 연동이 안되는 문제가 발생했는데.
(swf는 이미지서버에, xml은 웹서버에 위치해 있다)
즉 swf와 xml이 다른서버에 있게 되면 xml을 호출 할 수 없게 되는 것이다.
이 때는 크로스 도메인을 설정하여 xml을 호출하여야 하며 이를
크로스도메인정책파일 이라고 한다.
이문제를 해결하기 위해서는 두가지 사항을 추가해야 한다.
1. crossdomain.xml 설정
[?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]
allow-access-from domain : 허용할 도메인 ( *.허용할도메인 )
to-ports : 허용할 포트 ( * 모든포트 )
이 xml 파일을 루트 폴더 혹은 특정 폴더의 경로에 위치시켜주면된다.
자 크로스도메인xml파일을 설정했다면 이제는
2. 플래시 파일에도 허용도메인을 설정해야 한다.
액션 프레임을 만들어서
System.security.allowDomain("*");
System.security.loadPolicyFile("허용할도메인/특정폴더/crossdomain.xml");
crossdomain.xml의 경로가 루트일때는 위에
crossdomain.xml의 경로가 특정폴더 일때는 아래처럼
작성해 주면 된다.
이제 컨트롤+엔터후
서버에 올려보자!!
[출처] 크로스도메인에서 플래시 XML연동|작성자 visualog
댓글