我正在尝试使用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);
答案 0 :(得分:0)
您确定要加载的网址是否正确?我尝试了http://website.com/feeds/feed-upcoming-events.php?limit=12&format=html,但它返回了404错误。
我会安装Tamper Data on Firefox以查看您的网站加载时发生的情况。也许您在服务器上缺少一个crossdomain.xml文件,允许您进行外部呼叫。
答案 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>