Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   Общие вопросы о Flash (не затрагивающие ActionScript) (http://www.flasher.ru/forum/forumdisplay.php?f=60)
-   -   загрузка XML. По разному на разных компах (http://www.flasher.ru/forum/showthread.php?t=96897)

alilu 09.06.2007 11:03

загрузка XML. По разному на разных компах
 
Один и тот же проект. Фото с описанием подгружаются из XML файла.
Сам файл формируется по запросу пользователя из БД. При замене критериев изменяется XML и подгружается новый.
Этот проект копирую на другой комп без изменений. Загружается первый сформированный XML файл.Всегда. Вне зависимости от того изменяется ли файл или нет.
И там и там стоит один и тот же денвер, флеш плейер 9.
Что еще может влиять....
Сегодня нужно показывать проект. щас пойду вешаться....... подскажите плииз. что делать

screamge 09.06.2007 11:25

это локально или в нете?

alilu 09.06.2007 19:09

локально

chingachgoog 09.06.2007 20:38

Я только не пойму: это ЧИСТЫЙ флеш-проект или флеш+оболочка?
Сам флеш записывать на комп XML не умеет.

alilu 12.06.2007 16:35

xml файл обновляется с помощью пхп. ПХП со своей работой справляется замечательно. Поясняю ситуацию:
КОМП № 1.
1. Нажимаем кнопку выбрать категорию из комбобокса
2. вызываем пхп
3. пхп берет из базы данных соответсвтующие данные и записывает их в xml файл
4. по окончании работы пхп скрипта флеш начинает загружать свжесозданный xml
КОМП № 2
п.п.1-3 работают нормально
на четвертом этапе флеш наотрез отказывается загружать свежий файл, а обновляет данные на странице. причем данные уже физически на диске не существуют (в xml файле совсем другие свежие данные)

mozi 12.06.2007 21:15

если работает с пхп (но все же локально) - значит какойто сервак развернут типа Денвера. С кэшированием надеюсь боритесь? Там оно есть. Если не боритесь, то положительных результатов ждать не приходится.

плюс НЕ ДОЛЖНО быть в коде AS такого "System.useCodepage = true".

alilu 12.06.2007 22:06

типа денвера:-)
useCodepage отсутствует
а как бороться с кешированием?:-)

flskif 12.06.2007 23:13

самый простой - при загрузке xml приписывать случайное число:
Код:

result = new XML();
result.ignoreWhite = true;
result.load(filename+"?v="+Math.random(9999));
result.onLoad = Delegate.create(this, handleLoaded);

И еще совет: не совершать лишних движений - не надо скриптом сохранять xml, можно из флешки сразу обратиться к php скрипту и получить в ответ xml
Код:

result.load("http://localhost/getXml.php?v="+Math.random(9999));

alilu 14.06.2007 15:16

Код:

result.onLoad = Delegate.create(this, handleLoaded);
Непонятно, что делает данная строка

to flskif
Эх, можно я вас расцелую:-))

flskif 15.06.2007 16:38

Не откажусь =)

Код:

result.onLoad = Delegate.create(this, handleLoaded);
Эта строка позволяет на событие onLoad повесить функцию handleLoaded, где this указывает на целевую область видимости (это может быть конкретный экземпляр класса или мувиклип, именно на него будет указывать ключевое слово this в вызываемом методе или функции-обработчике, handleLoaded-- это метод-обработчик данного класса (или функция на таймлайне мувиклипа).

Это позволяет решить проблему области видимости, примерно такого плана:

Код:

// здесь this указывает на одну область видимости
// например какой-нибудь обьект (допустим MyObject)
result.onLoad = function()
{
  // здесть this указывает не на MyObject а на result
}

Обычно это решалось так:
Код:

var parentObj:Object = this;
result.onLoad = function()
{
  paparentObj.doSomething();
}

Читать вот это: http://flash-ripper.com/archives/000680.htm


Часовой пояс GMT +4, время: 17:53.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.