【问题标题】:read facebook rss in Flash (cross domain)在 Flash 中读取 facebook rss(跨域)
【发布时间】:2011-09-09 05:42:15
【问题描述】:

我正在构建一个应用程序来获取以下 rss 提要并显示它。 http://www.facebook.com/feeds/page.php?id=94572408519&format=rss20 它在本地运行良好,但是当我上传 swf 在线停止工作时。 我已经添加了一个跨域策略文件,但它没有帮助。奇怪的是 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);
    }

【问题讨论】:

  • 当它在线时,在 IOError 上你能从它那里得到什么?

标签: flash facebook rss cross-domain


【解决方案1】:

托管 Web 服务的站点决定其服务的安全限制。因此,Facebook 需要一个 crossdomain.xml,以便从网站运行的任何 flash 都可以连接到它们。

我构建了一个小类,通过使用浏览器的 javascript 来解决 flash 的限制。使用 JSONP 加载的限制比 Flash 少,因此它很乐意充当 Flash 的代理,从客户端加载跨域服务。

JSONP.as - http://gist.github.com/1204728

【讨论】:

    猜你喜欢
    • 2014-05-03
    • 2012-01-19
    • 2014-06-25
    • 2011-11-26
    • 1970-01-01
    • 2013-08-19
    • 2013-02-12
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多