我在尝试将XML文件的路径传递给Shockwave Flash对象时遇到Parameter url must be non-null
错误。
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
错误?
P.S。如果我硬编码路径,在actionscript文件中,一切都很棒!
private function loadComp(data:String):void
{
xmlModel.xml = new XML(data);
new LoadXml('xml/exampleData', picHandler);
}
答案 0 :(得分:3)
我通常在嵌入代码中使用flashvar参数执行此类操作。
so.addParam('flashvars','xmlPath=xml/exampleData.xml');
然后你需要在你的Actionscript中使用这样的一行...
private var xmlPath:string;
xmlPath = root.loaderInfo.parameters.xmlPath;