2010-11-02 3 views
0

Я получаю ошибку Parameter url must be non-null при попытке передать путь XML-файла к Flash-объекту Shockwave.Параметр 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> 

Как вы можете видеть, что XML-файл я пытаюсь загрузить в SWF-файл является 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; 
Смежные вопросы