0

Parameter url must be non-null在尝试将 XML 文件的路径传递给 Shockwave flash 对象时遇到错误。

javascript代码如下

<script type="text/javascript">
    var so = new SWFObject("preview.swf", "", "100%", "100%", "9", "#ffffff");
    so.addParam("allowFullScreen", "true");
    so.addParam("scale", "noscale");
    so.addParam("menu", "false");
    so.addVariable("xmlPath", "xml/exampleData.xml");
    so.write("flashcontent");
</script>

如您所见,我尝试在 SWF 文件中加载的 XML 文件是exampleData.xml

在 ActionScript 中,我按如下方式声明了变量 xmlPath...

 public var xmlPath:String

在加载事件中我做了适当的改变

private function loadComp(data:String):void
        {
            xmlModel.xml = new XML(data);
            new LoadXml(xmlPath, picHandler);
        }

问题来了。

我在这里做错了什么?为什么我会收到Parameter url must be non-null错误消息?

PS如果我在actionscript文件中硬编码路径,一切都很好!

private function loadComp(data:String):void
        {
            xmlModel.xml = new XML(data);
            new LoadXml('xml/exampleData', picHandler);
        }
4

1 回答 1

3

我通常在嵌入代码中使用 flashvar 参数来做这种事情。

   so.addParam('flashvars','xmlPath=xml/exampleData.xml');

然后你需要在你的 Actionscript 中这样一行...

   private var xmlPath:string;
   xmlPath = root.loaderInfo.parameters.xmlPath;
于 2010-11-03T01:41:47.877 回答