URL параметра должен быть ненулевым - PullRequest
0 голосов
/ 03 ноября 2010

Я получаю ошибку Parameter url must be non-null при попытке передать путь XML-файла к флеш-объекту Shockwave.

Код 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?

PS Если я жестко закодирую путь в файле actionscript, все отлично работает!

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

1 Ответ

3 голосов
/ 03 ноября 2010

Я обычно так делаю с параметром flashvar в коде встраивания.

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

И тогда вам понадобится такая строка в вашем ActionScript ...

   private var xmlPath:string;
   xmlPath = root.loaderInfo.parameters.xmlPath;
...