将外部域中的数据(HTML)加载到Flash Actionscript 3中

时间:2010-08-27 21:12:06

标签: flash actionscript-3

我正在尝试使用Actionscript 3将HTML / CSS从外部域加载到SWF中。当我从Flash中“测试电影”时,数据会正确加载。但是,当我将SWF上传到网站时,它将不再导入数据。这是我的代码的一个例子......

import flash.events.MouseEvent;
var req:URLRequest = new URLRequest("http://website.com/feeds/feed-upcoming-events.php?limit=12&format=html");
var loader:URLLoader = new URLLoader();
var cssReq:URLRequest = new URLRequest("http://website.com/feeds/feed-upcoming-events.css");
var cssLoader:URLLoader = new URLLoader();

function fileLoaded(event:Event):void
{
    this.feed_ani_mc.feed_mc.feed_txt.htmlText = loader.data;
}

function cssLoaded(event:Event):void
{
    var sheet:StyleSheet = new StyleSheet();
    sheet.parseCSS(cssLoader.data);
    this.feed_ani_mc.feed_mc.feed_txt.styleSheet = sheet;
}

loader.addEventListener(Event.COMPLETE, fileLoaded);
loader.load(req);
cssLoader.addEventListener(Event.COMPLETE, cssLoaded);
cssLoader.load(cssReq);

3 个答案:

答案 0 :(得分:0)

您确定要加载的网址是否正确?我尝试了http://website.com/feeds/feed-upcoming-events.php?limit=12&format=html,但它返回了404错误。

我会安装Tamper Data on Firefox以查看您的网站加载时发生的情况。也许您在服务器上缺少一个crossdomain.xml文件,允许您进行外部呼叫。

alt text

答案 1 :(得分:0)

您可以收听以下事件,以评估数据未加载的原因。

flash.events.SecurityErrorEvent
flash.events.IOErrorEvent

虽然听起来很安全,但在这种情况下,跨域策略文件应该可以解决您的问题

答案 2 :(得分:0)

尝试使用此crossdomain.xml,用于开发服务器:

<?xml version="1.0"?>
<cross-domain-policy> 
<allow-http-request-headers-from domain="*" headers="*" secure="false" /> 
<allow-access-from domain="*" secure="false" to-ports="*"/> 
</cross-domain-policy>