-1

我在 flash cs5/as3 中建立了一个练习。它从 xml 文件中提取其内容。因为我想让其他人更容易基于这个 swf 创建自己的练习,所以我希望 actionscript 加载 xml,文件名基于 html 代码中的参数。

在这种情况下,xml 称为oef01.xml

链接如下所示:BoFlitsOefening.swf?id=oef01

像这样的动作脚本:

public function Main ()
{
    //myFile is a string I declared earlier     
    myFile = LoaderInfo(this.root.loaderInfo).parameters["id"];
    myFile +=  ".xml";

    loadXml ();         
}

function loadXml ():void
{
    xmlLoader = new URLLoader(new URLRequest(bestand));
    xmlLoader.addEventListener (Event.COMPLETE,xmlLoaded);
}

function xmlLoaded (event:Event):void
{
    myList = new XML(event.target.data);
    myList.ignoreWhite = true;
}

该构造在 Internet Explorer 中运行良好,但在 Firefox 中运行良好。我已经进行了互联网研究,但我找不到我能够应用的解释或解决方案,尽管这个问题是已知的。

4

2 回答 2

0

您是在服务器上还是在本地测试它 - 浏览器中的 URL 应该以http://not开头file:///

它应该可以在 Internet 上正常工作,而在本地包含的 URL?可能无法正确解析。
在这种情况下,您可以改用 FlashVars - 您无需更改 AS 代码,只需更改 HTML/JS。

附带说明:您可以尝试使用 SWFObject 嵌入 SWF 文件 - 一些跨浏览器问题是由错误/错误的嵌入代码引起的。

于 2012-06-19T14:43:09.473 回答
0

此外,FireFox 还喜欢缓存外部资源,因此它很可能正在加载旧文件。确保在更新 xml 后清除缓存。

有一种方法可以通过添加一些垃圾来欺骗它每次都重新加载它,比如

.../my.xml?rand=001820018

如果我没记错的话,您每次都会随机生成数字

于 2012-06-19T15:52:23.433 回答