![]() |
_root.ard_xml.onLoad постоянно возврашает success = false
проверяю загрузился ли XML таким образом:
_root.ard_xml = new XML(); _root.ard_xml.load("some.xml"); _root.ard_xml.ignoreWhite = true; _root.ard_xml.onLoad = sucs(); function sucs(success){ if(success == true){ _root.suc = true } else{ _root.suc = false } } и прилюбом раскдаде _root.suc получается фолс, даж если все загрузилось что не так???????? спасибо |
Success, насколько я помню, индикатор не загрузки (коим является триггер onLoad), а показатель корректности XML файла. Что означает, что у тебя просто кривой XML, или так думает флэш.
|
цитирую:
success (на самом деле хоть горшком напиши).... - такая полезная штучка (аргумент функции 'myXML.onLoad', ухх... мои коленки), которая, придя от сервера скажет нам всего одно слово true, или false, в зависимости от того, какой ответ пришел. Если true - значит ответ пришел вместе с запрашиваемым XML-ем, если false - то фигвам-народная-индейская-изба - в ответ придет какая-нибудь серверная ерунда Название урока: XML? Что? Кто!? Кто же ON !!? ...on - XML!!! Категория: Новичкам Автор урока: УильямБрэдберри а есть ли тогда индикатор загрузки? |
На самом деле я ни разу не видел нормальной XML загрузки, коию я использую для чтения текстовых файлов, но сейчас я тыкну в топик носом одного мутанта по имени AnGL, он должон ответить. Успехов.
|
Ок...
_root.ard_xml.onLoad = sucs(); - не правильно :)
Правельнее - _root.ard_xml.onLoad = sucs; ;) |
ща вас Джон напугает... ;)
|
В коде три ошибки
первая: Код:
_root.ard_xml.onLoad = sucs();это нужно делать вот так Код:
_root.ard_xml.onLoad = sucs;вторая ошибка: функция sucs объявляется после того как дается ссылка на нее, то есть Код:
function sucs(success){ Код:
_root.ard_xml.onLoad = sucs;_root.ard_xml.load("some.xml"); должен быть быть в конце кода, то есть сначала описываем что нужно делать, а только потом грузим. конечно ничего не закачается за эти три строчки, но все равно. далее уже не ошибки, а так, шлифовка во первых, не зачем заводить и резервировать имя под функцию которая будет использована только для одного объекта XML. правильнее писать так: Код:
_root.ard_xml.onLoad = function (success){ еще одно пожелание, если мы несколько раз меняем значения объекта (работаем с ним), но лучше сделать переменную которая будет хранить ссылку на этот объект, и уже с ней работать, так будет и короче и понятнее, после всего изложенного код будет выглядеть так: Код:
var x = _root.ard_xml = new XML(); |
огромное вам спасибо, Джон
от прописанных вами таблеток исправились глюки о которых я даже забыл. несколько слов в свое оправдание: 1 имя функции самое, что не наесть подходящие. оно мне говорит и опредназначении ее в этом бренном мире. 2 скобки не есть мега камень тут, я с ними и без них пробывал. 3 порядок обьявления и использования функци я взял из примера, который был выташен с сайта макромедии Спасибо .......... |
Цитата:
нормальное название !... он просто опечатался - букву 'k' пропустил =) Цитата:
вот если бы было написано: [name = function (args) {....}] тогда да - идентификатор появился бы только после строчки с объявлением. и насчет лоада... главное чтоб к моменту вызова лоад() был определен сам объект... все равно из-за асинхронности загрузки онЛоад определится быстрее чем данные хотя бы начнут поступать... хотя в общем ты прав конечно =) надо делать все правильно =) |
2Nox Noctis
Код:
а при таком синтаксисе [ function name (args) {....}] если посмотреть каким нибудь вьювером, ASV к примеру, то функции перемещаются вверх в коде, объявленные так. сортировка. но это все равно не правильно :) |
| Часовой пояс GMT +4, время: 04:49. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.