![]() |
unload для multiloadera
задача:
загрузить несколько файлов и отобразить их загрузку одним прогресбаром. делаю: начинаю загрузку файла, узнаю его размер, выгружаю, когда все размеры посчитаны - начинается окончательная загрузка. проблема: unloadClip MovieClipLoader-а анлоадит только после полной занрузки. unloadMovie работает, но нет возможности отследить ошибку загрузки (таймаут не гарантия реального отсутствия файла). пробовал даже LoadVars. узнаю размер. удаляю лоадер - загрузка продолжается. а если изменить ссылку, то с начала грузит файл по новой ссылке, а потом продолжает закачивать старый. |
А зачем ты анлоадиш, нельзя загрузить все сразу?
|
как это загрузить все сразу?
мне же нужно отобразить все на одном прогресбаре. типа ща загружено 10 байт из 100 000 милионов. пока загрузка не начнется, неизвестно какой размер у файла. фокс вообще по одному файлу грузит. если через MovieClipLoader делать, то постоянно прогресбар прыгает от 100 к 0 и обратно Ж( если простым лоадМуви, то вроде как все кучей пытаются загрузиться, но невозможно отследить ошибку загрузки, с появлением MovieClipLoader простое лоадМуви выдает в детБайтТотал -1 до начала загрузки, а не как рашьше (в 6-ке), только когда файла такого нет. а получается, что если загрузка начата, то остановить ее уже нельзя ( |
у меня такая же задача, я решил - разбивать прогресс бар на зоны - каждая - для своего файла. они, естественно, получатся неравномерные (правда, можно прикинуть приблизительно относительный размер зон в зависимости от размеров файлов). а выгружать что-то уже загруженное хотя бы на 1% - мне кажется, это идеологически неправильно - ведь лоадер ради загрузки, а не загрузка - ради лоадера ;)
|
кстати, пришла в голову такая идея - можно ведь считать размер файла напрямую - через сокет! только ведь во флеше нет обычного сокета? XMLSocket не даст ведь к заголовкам обратиться? а так можно было бы открыть файл, считать заголовки, забрать Content-length - и вперед - к построению прогресс бара ;)
|
как вариант: собирать информацию о всех загрузках в onLoadProgress:
Код:
var urls=["p1.jpg","p2.jpg"]; |
2 silin
с двумя файлами нет проблем. а когда файлов больше 10-ти ? MovieClipLoader в фоксе не начнет загрузку вторго файла не загрузив первый. 2 firelord ели бы я знал заранее размер файлов... ) 2 all сейчас читаю про возможности javascript в определении наличия файла. возможности потестить нет. ни у кого подобного опыта нет? |
Почему нельзя использовать в качестве индикатора процесса загрузки не число загруженных байт, а количество файлов, которые уже загружены (общее их число всегда можно получить, если захотеть)?
|
Цитата:
пропустил, сори тогда, хотя бы не грузить целиком, а только до первого получения инфы: Код:
class LoadSizer {Код:
var urls=["p1.jpg","p2.jpg"]; |
Слушайте, а чего юзера то пугать, флэш же выдает размер не сжатый, то есть если помимо картинок еще грузить и свф, то размер может в 2-3 раза больше реально скаченного.
Ну когда это было просто ну совсем необходимо (показывать кол-во байт) при условии что файлы скачивались с нашего сервера, просто запускался пхп скрипт на сервере которому передавался список файлов, скрипт же возвращал размер на каждый файл, потом это показывалось и грузилось. |
2 silin
я это уже пробовал. Цитата:
2 7thsky™ я на php уже сделал. но когда, например, плашка с логотипами (типа банер) или еще что мелкое требует php, то это как-то ... да и вопрос то не в том, какимим обходными путями решить проблему. Вариантов я виже три: 1. может кто-то смог, как-то, вылечить unloadClip MovieClipLoader-а. 2. или знает как отследить ошибку загрузки для LoadMovie. 3. или все делается намного проще и легче, и расскажет как. |
а как делать, если у нас есть три кнопки. при нажатии на кнопку, надо загрузить свои ЦАТЬ файлов. пользователь нажал на первую кнопку. увидел прелоадер обещающий ему пол часа загрузки и решил, что обойдется он без этого раздела и хочет посмотреть другой.
прервать загрузку я не могу. или мне ему принудительно рефреш страници делать? |
вроде бы новая загрузка в тот же мувик убивает текущую
т.е. если запустить загрузку како-либо мизерного файла, то можно съэкономить трафик юзера, но надо проверять.. зы:в своем примере я loader.unloadClip(tmpMC) только для порядку написал, должно работать и без него..и как бы не должна до конца..если тем же лоадером в тот же мувик грузить |
да много что должна, только всем простила
|
| Часовой пояс GMT +4, время: 14:26. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.