gpt4 book ai didi

Flash Crossdomain.xml 问题

转载 作者:行者123 更新时间:2023-12-02 07:55:27 28 4
gpt4 key购买 nike

我正在尝试将 Gravatars 加载到 Flash 中。幸运的是,他们在 http://en.gravatar.com/avatar/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()

我还监控了 Flash 文件发送的流量。它要求:

有关使它正常工作并减少对 gravatar.com 的请求数量的任何建议。

编辑:感谢 Jacob,以下代码有效

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 中访问内容

最佳答案

我通过使用 LoaderContext 解决了类似的问题.以下是如何执行此操作的示例:

var context:LoaderContext = new LoaderContext();
context.checkPolicyFile = true;
context.securityDomain = SecurityDomain.currentDomain;
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);

关于Flash Crossdomain.xml 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1088323/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com