![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
|
|||||
|
предистория:
![]() Сайт состоит из нескольких разделов реализованных в виде подгружаемых свф. Клиент захотел чтобы во время нахождения юзера на одном из разделов шла фоновая загрузка других. Я реализовала загрузку с использованием возможностей XML(так как грузится без активации и есть событие onData). Но когда юзер выбирает еще не загруженный раздел мне бы хотелось остановить загрузку того свф который грузится в моем прелоадере. Так вот: даже если я говорю delete тот самый XML обьект который грузит не нужный свф загрузка файла продолжается и даже срабатывает функция onData!? если я его прошу загрузить empty.swf он меня просто игнорирует... Кто знает как реализованна загрузка файла в XML? просто очень хочется понять почему это работает так как работает и тогда может станет ясно можно ли все таки отменить загрузку? |
|
|||||
|
Ребята я от вас так просто не отстану
Ребята ну не может быть чтобы никто не знал почему у меня не прекращается закрузка и срабатывает онДата удаленного обьекта. XML не подходит для загрузки больших файлов? они не предусмотрели что во время загрузки XML пользователь может передумать загружать одно и захотеть загрузить другое? А может кто-то может поделиться умной мыслью как грамотно организовать такой фоновый прелоадер? ... может я просто чего то не догоняю... |
|
|||||
|
МЕГАФЛЭШЕР
Регистрация: May 1999
Адрес: Россия, Москва
Сообщений: 1,181
|
вообще нужно начать с того что грузит не флэш, а браузер,
чем бы не грузить хоть loadMovie() хоть XML.load() поэтому все вопросы уже к к браузеру, второй момент, хоть мы удаляем ссылку на объект - это не значит что удаляется сам объект (относится ко всем объктам, не только хмл) во флэш нет принудительной деструкции объектов.... во всяком случае я таких не знаю, если нет ссылки или нет процесса который объект обслуживае, объект самоуничтажается автоматически, по поводу идей, а если попробовать вызвать у объекта - загрузчика принудительно хендлер onData? Хотя вряд ли. Нужно посмотреть код инициализации объектов, может что и накопаю. |
|
|||||
|
Спасибо джон
![]() это хоть что-то обьясняет. А удалить процесс который "обслуживает обьект" наверняка нельзя, да? Наверное придется отказаться от идеи предзагрузки... ![]() |
|
|||||
|
МЕГАФЛЭШЕР
Регистрация: May 1999
Адрес: Россия, Москва
Сообщений: 1,181
|
Могу предложить загружать некую пустую SWF-шку в мувик или слой, в которой созданы механизмы загрузки через хмл,
если же нужно "убить" процесс загрузки большого файла, то убиваем (выгружаем-загружаем) этот swf, и тогда все объекты заведенные в этом swf будут удалены. (хотя это утверждение - под вопросом, вероятно и не будут, нужно проверить) еще есть идея, узнать кто передает сюрс закачки у ХМЛ.onData через arguments.caller , скорее это просто функция, а не метод, и возмжно вызвать ее до загрузки, может это что и даст...... Последний раз редактировалось john; 25.12.2002 в 17:02. |
|
|||||
|
МЕГАФЛЭШЕР
Регистрация: May 1999
Адрес: Россия, Москва
Сообщений: 1,181
|
забавно что у XML.onData arguments.caller равен null ... загадочно....
хотя верно, скорее вызов происходит он низкоуровневой функции, ссылка на которую хранится в ASNative... и ссылки на нее не должно быть, по логике... да уж, ... интересный вопрос... |
|
|||||
|
Да проблема то собственно не в ненужном вызове функции онДата... его то пережить можно... поставить проверку да и дело с концом... Вопрос в том что загрузка продолжается и забивает канал по крайней мере в моем пятом эксплорере под видами 2000
![]() |
|
|||||
|
МЕГАФЛЭШЕР
Регистрация: May 1999
Адрес: Россия, Москва
Сообщений: 1,181
|
Да я прекрасно понимаю что не в вызове дело,
а забивании канала... пока решений нет, кроме создания отдельной swf-шки прелоадера, |
![]() |
Часовой пояс GMT +4, время: 11:41. |
|
|
« Предыдущая тема | Следующая тема » |
|
|