我正在构建一个应用程序来获取以下rss feed并显示它。 http://www.facebook.com/feeds/page.php?id=94572408519&format=rss20 它本地工作正常,但当我上传瑞士法郎在线停止工作。 我已经添加了一个跨域策略文件,但没有帮助。奇怪的是Twitter Feed正在加载(本地和在线) 有任何想法吗? 这是我的代码:
override protected function initContent():void {
super.initContent();
Security.allowDomain("https://facebook.com")
setContent("Loading data...");
var req:URLRequest = new URLRequest("https://facebook.com/feeds/page.php?id=94572408519&format=rss20");
var l:URLLoader = new URLLoader();
l.addEventListener(Event.COMPLETE, onContentLoad);
l.addEventListener(IOErrorEvent.IO_ERROR, onContentLoadErr);
l.load(req);
}
private function onContentLoad(event:Event):void {
var loadedXml:XML = new XML(event.target.data);
//trace(xml.item);
loadedXml.ignoreWhitespace=true;
var len=loadedXml.channel.item.length();
var content:String = "";
for (var i:int = 0; i < len; i++) {
if (loadedXml.channel.item[i].link){
content += "<a href='" + loadedXml.channel.item[i].link + "' target='_blank'>";
content += loadedXml.channel.item[i].title+"</a>";
content += "\n\n";
}
}
setContent(content);
}
答案 0 :(得分:0)
托管Web服务的站点决定其服务的安全限制。所以Facebook需要一个crossdomain.xml,以便从网站运行的任何flash连接到它们。
我使用浏览器的javascript构建了一个小类来解决flash的限制。使用JSONP加载的限制比Flash少,因此很乐意充当Flash的代理,从客户端加载跨域服务。
JSONP.as - http://gist.github.com/1204728