![]() |
Запуск функции после загрузки ХML-файла
Во внешнем скрипте(php,JS - не принципиально) формируется массив. Как этот массив загрузить во флеш-файл?
в каком виде он должен выводится в скрипте и как читаться флеш-файлом? Для обычных переменных(строковых, числовых) вроде понятно, а для массива не могу сделать.. |
Флеш принимает либо стринг либо ХМЛ, так что вариантов не много... формируй либо то либо другое. Если массив относительно небольшой, то можно передавать его одним стрингом с каким-нибудь символом разделяющим элементы массива, если нет - строй ХМЛ...
Пример: html Код:
my.swf?myArr=1%23%456%2%45Код:
var myArr_arr:Array = myArr.split["%"] |
Пришлось делать через XML.
Парсинг полчается нормально, вычисляет что нужно правильно(делал по одному из примеров на flasher.ru) но вот в чем проблема Код:
myArray = new Array();По всей видимости дело либо в области видимости переменной, либо скорее всего во времени подгрузки файла. как быть? |
1) сначала doc.onLoad а уж потооооом doc.load("doc.xml");
2) где у тя value? |
1)перестановка мест, вполне естессно ничего не дала
2)value находится в XML-файле пробовал играть с _global.. не выходит ничего. может и правда влияет время на загрузку файла? |
Опиши подробнее, что такое value, а еще лучше - дай один нод ХМЛя и полностью функцию, которая его разбирает (парсит), иначе тяжело что-то сказать.
_global тут ни при чем. время никак не влияет, функция прописанная\вызывающаяся в onLoad вызывается тогда, когда весь ХМЛ уже загружен. Вот тебе рабочий пример, если нужно: Код:
var mainXML:XML = new XML();Код:
<m> |
zhalexei, если ты засунешь
Код:
trace(myArray.length);Дело во времени загрузки xml файла - onLoad срабатывает позже чем trace |
Цитата:
Код:
trace(myArray.length); |
ну есть же наверное какие то способы задержать начало выполнения проги пока не загрузится xml-файл?
|
2 zhalexei:
самое простое - поставь все скрипты на второй кадр, а в doc.onLoad пропиши gotoAndStop(2); =) хотя, это некрасивое решение =) правильно - написать изначально так, чтобы функции читающие что-либо из ХМЛя не вызывались до его загрузки =) |
| Часовой пояс GMT +4, время: 22:33. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.