2010-11-02 80 views
0

我在嘗試將XML文件的路徑傳遞給Shockwave flash對象時出現Parameter url must be non-null錯誤。參數url必須爲非空

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); 
     } 

回答

3

我通常在嵌入代碼中使用flashvar參數做這種事情。

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

然後你需要像這樣在您的ActionScript行...

private var xmlPath:string; 
    xmlPath = root.loaderInfo.parameters.xmlPath; 
相關問題