我的闪存as2 rss提供了一个'undefined'输出,一旦它在浏览器上生成。当我在本地测试时它工作正常,但一旦它进入LIVE它显示'undefined'。我的代码如下。
现在我对此进行了研究,发现它可能是通过浏览器或跨域问题的安全措施。我也尝试在google feedburner中镜像这个rss feed。虽然它只适用于Opera浏览器。任何建议都会很棒。相反,如果我必须在文件中写一些actionscript以允许浏览器reed feed。
以下是你们其中一个人慷慨帮助我的代码。
xmlLoad.onLoad = function(e) {
var xmlItems:XMLNode = xmlLoad.firstChild.firstChild;
var itemlink:String,itemtitle:String,itemdesc:String = '';
for (var m:Number = 0; m<xmlItems.childNodes.length; m++) {
if (xmlItems.childNodes[m].nodeName == "item") {
var article:Array = xmlItems.childNodes[m].childNodes
itemlink = itemtitle = itemdesc = '';
for (var n:Number = 0; n<article.length; n++) {
switch (article[n].nodeName) {
case "link":
itemlink=article[n].firstChild.toString();
break;
case "title":
itemtitle=article[n].firstChild.toString();
break;
case "description":
itemdesc=article[n].firstChild.nodeValue;
break;
}
}
xml_text+= "<a href=\""+itemlink+"\"><u>"+itemtitle+"</u></a><br>"+itemdesc+"<br><br>";
}
}
}
答案 0 :(得分:0)
您无法直接访问此Feed,因为服务器上设置了crossdomain.xml
文件,只允许受限制的域列表访问此Feed:http://www.astrology.com/crossdomain.xml。有关crossdomain.xml here的更多信息。
您可以借助服务器端脚本(如PHP)绕过此操作,充当SWF和Feed之间的代理。
PHP中的示例
proxy.php
<?php
header ("Content-Type:text/xml");
echo file_get_contents('http://www.astrology.com/horoscopes/monthly-overview.rss');
?>
在闪光灯中,您可以致电:
xmlLoad.load("/path/to/proxy.php");
请在您发布的solves the problem时接受答案。