Gravatars를 플래시에로드하려고합니다. 다행히, 그들은 http://en.gravatar.com/avatar/crossdomain.xml
내 코드Flash Crossdomain.xml 문제
에서 crossdomain.xml 파일을 제공 :
Security.loadPolicyFile("http://en.gravatar.com/avatar/crossdomain.xml");
var loader:Loader = new Loader();
loader.load(new URLRequest("http://en.gravatar.com/avatar/" + gravatar + "?s=35&d=identicon"));
하지만이 오류가 계속납니다 :
SecurityError: Error #2123: Security sandbox violation: LoaderInfo.content: [...] cannot access http://en.gravatar.com/avatar/97fbce86a5bbc520450168603172cd9e?s=35&d=identicon . No policy files granted access.
at flash.display::LoaderInfo/get content()
at PiecePlayerSmall/onLoadComplete()
는 또한 플래시 파일이 트래픽을 모니터링 배상. 그것은 요구하고이를 얻기를위한
- 내 도메인의 crossdomain.xml 파일
- "http://en.gravatar.com/avatar/crossdomain.xml"
- "http://en.gravatar.com/crossdomain.xml"
- "http://en.gravatar.com/" 다음
- , http://en.gravatar.com/avatar/97fbce86a5bbc520450168603172cd9e?s=35&d=identicon
어떤 제안 gravatar.com에 대한 요청 횟수를 줄일 수 있습니다.
편집 : 야곱
에 다음 코드는 작동 , 감사Security.loadPolicyFile("http://en.gravatar.com/avatar/crossdomain.xml");
var context:LoaderContext = new LoaderContext();
context.checkPolicyFile = true;
context.applicationDomain = ApplicationDomain.currentDomain;
var request:URLRequest = new URLRequest(
"http://en.gravatar.com/avatar/" + gravatar + "?s=35&d=identicon");
var loader:Loader = new Loader();
loader.load(request, context);
this.addChild(loader);
참고 :하면 Event.COMPLETE I에 의해 유사한 문제를 해결 가지고
내 요청 URL이 현재 도메인에 없으면 어떻게해야합니까? –
현재 도메인이 아니라면 리소스에 액세스 할 권한이 없음을 의미합니다. 이 경우 crossdomain.xml을 수정하려면 몇 가지 해킹 메소드를 인라인해야합니다. –