(ActionScript3)您好,我正在尝试解决为什么在通过第三方网站查看时URLRequest失败的原因。理想情况下,可以在下面的代码中指出任何错误,但是,我认为这很好,因为类似的事情我们做得很好。
理想的是URLRequest错误处理,如何找出URLRequest是不是从time.php中提取信息?即使它只是输出到时间轴上的文本框(从测试环境完成一切正常)
非常感谢 克雷格
情境:
domain.com(服务器1):file.swf使用URLRequest加载domain.com/time.php?a=b(因此PHP和SWF都托管在同一个域和服务器上)
example.com(服务器2):PHP页面嵌入file.swf(反过来URLRequests time.php)
成果:
当你通过浏览器直接访问file.swf时,它会从time.php加载数据就好了
当您查看页面文件。嵌入的文件时,在服务器2上加载失败
file.swf
var loaderNameHolder;
var loaderNameHolderLoader:URLLoader = new URLLoader();
var loaderNameHolderURLRqst:URLRequest = new URLRequest('http://domain.com/time.php?a=b');
loaderNameHolderLoader.addEventListener(Event.COMPLETE, loaderNameHolderURLFunc);
loaderNameHolderLoader.load(loaderNameHolderURLRqst);
function loaderNameHolderURLFunc(e:Event):void{
loaderNameHolder = loaderNameHolderLoader.data
gotoAndStop(loaderNameHolder);
}
安全
答案 0 :(得分:2)
这听起来像是一个安全问题,尽管你说你有跨域文件。
您是否使用Charles(http://www.charlesproxy.com/)等工具检查过http来电?这绝对是调试此类问题的最佳方法。
答案 1 :(得分:1)
感谢上面的提示,他们将成为很好的资源。
实际问题是请求的URL不包含“www”(我认为因为SWF嵌入了WWW所以它来自“外部”域。我想我需要www.domain.com in我自己的安全XML)。
克雷格
答案 2 :(得分:0)
尝试添加此代码
Security.allowDomain("*");
Security.loadPolicyFile("http://domain.com/crossdomain.xml");
并使用此处给出的链接阅读有关crossdomain.xml的信息:https://stackoverflow.com/a/9728845/2234089