URL параметра должен быть ненулевым
Я получаю Parameter url must be non-null
ошибка при попытке передать путь файла XML к Flash-объекту 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 ответ
Решение
Я обычно делаю такие вещи с параметром flashvar в коде встраивания.
so.addParam('flashvars','xmlPath=xml/exampleData.xml');
И тогда вам понадобится такая строка в вашем ActionScript...
private var xmlPath:string;
xmlPath = root.loaderInfo.parameters.xmlPath;