![]() |
loader.contentLoaderInfo не диспатчит 'complete' на некоторых флэшках
Привет. Столкнулся с такой проблемой - не загружается определенная swf. Исходника нет. Гружу через Loader. Подписываюсь на contentLoaderInfo. Progress отрабатывает - причем bytesLoaded доходит до bytesTotal и на этом все останавливается. Никаких эрроров нет.
Сначала подумал что это AS2 флэшка - но аниматоры утверждают что это AS3. Попробовал загрузить с помощью URLLoader и посмотреть версию флэшки (в загруженном массиве байтов) - пишет 10-я. Что это может быть? P.S.: это не кривизна рук и описок нет - самолично созданная флэшка без проблем грузится. |
попробуйте загрузить через URLLoader в bytearray а том из него лоадером через loadbytes.
Если не секретно, то можете на почту вашу подгружаемую swf кинуть(aquahawk[собак]mail.ru). Я в данный момент работаю над проблемой подгрузки всяких чужих флешек и меня этот вопрос очень интересует, таких симптомов как вы описали я ещё не встречал. |
Вот что я вам скажу, багов на самом деле много. Встречал такое :
1. При комплит ничего нету ( ответ - стоял твин который иногда не срабатывал ) Пути решения - нет ( если нету чужого исходника ). 2. При комплит не работает навигация ( ответ - проблема stage или не ясная проблема mousechildren ). Пути решения - все созданные объекты поверх лоадера помещать в mouseChildren = false; даже в том случае кгда на объектах нету слушателей-действий или объект прозрачный Добавлено через 1 минуту В вашем случае советаю проверять - loader.content ширину и высоту. Если все ок выводит разеры адекватные, знаит флешка тупо спрятана чем то, или стоят какие нить стопы . всякое бывает |
Упс, сорри. Оказывается подгружаемая флэшка грузила в себя библиотеку, а у меня ее не было. В билдере никаких сообщений не было - поэтому я затупил. FD сразу написал проблему.
in4core, причем здесь 'комплит', если я написал что 'комплит' как раз и не срабатывает? |
Упс сорри, прочитал не внимательно. Но в любом случае если флешка грузит либу, то либа грузится после added to stage тоесть ваш комплит обязан происходить
|
Чего? Причем здесь added to stage вообще?
|
Цитата:
А по теме - у меня комплит всегда происходил. |
Да еп макарек! Вы издеваетесь? До кучи... и причем тут added to stage? Я вам щас популярно объясню.
Объект A грузит объект B . Если объект В не загружен, то события комплит не произойдет, - ок логично. Если объект В загружен, событие комплит - диспатчится. Ок - с этим у вас я как вижу тоже все в порядке. Ну а теперь рассмотрим объект B . И его класс Main в котором , если я правильно понял, должна быть строчка loadConfigLibraries(); Внимание !!! Секретный обход - если объект B не добавлен на stage, то функция loadConfigLibraries() в Main не выполнилась! О чудо, теперь мы знаем ребятки, что пока комплит не произойдет, запроса на загрузку либ не будет. П.с. Извиняюсь за сарказм в том случае, если все организовано там подругому, и я заранее не понял сути. А с другой стороны, как же еще могут либы подгружаться если не так... |
инфокор, у меня убедительная к вам, лично, просьба: ограничить форумчан от вашего бреда.
|
Тааа~~~
Код AS3:
Волгоградец, а почему RTE не вылетало? |
Не знаю, в билдере вообще никакого аутпута, а в FD не эксепшн, а вывод в аутпут - типа такая-то библиотека не найдена.
|
Интересно. Как грузишь библиотеку? Loader?
|
Цитата:
|
cleptoman у вас видимо каша в голове. Tiger все верно пишет
|
Код AS3:
|
Цитата:
Имеется swf - ВНИМАНИЕ!!! - эта swf дергает из shared библиотеки символы - т.е. лоадеров нет никаких - все происходит explicitly через настройки IDE. Эту swf я гружу. Но если эта swf не находит shared библиотеки из которой она берет символы - то Event.COMPLETE не срабатывает, RTE не выбрасывается, Flash Builder никаких мессаджей не выдает, FD выдает в output Цитата:
|
вот потому FD + pure AS3 + SWC
|
Старайтесь не использовать shared библиотеки. Там сложная ситуация с их версиями. Когда обновите библиотеку, то по-прежнему будет загружена из кэша браузера старая. На её url сложно повлиять, чтобы добавить в строку запроса необходимые параметры.
|
Да, с этим есть кое-какие неудобства. Но в нашем случае, думаю, без них (shared библиотек) не обойтись.
|
Цитата:
|
Цитата:
|
Эээ... я же явно написал, что dispatchEvent в loaderInfo перекрыт.
Коллапса не будет, будет тупое RTE. |
тигра, кроме тебя никто не понял, что ты хотел сказать..инфокор, вон, вообще мне диагноз слабоумия поставил.
|
Гружу swf в swf-контейнер. Весь подгружаемого swf - 6 МБ. Он просто замирает после окончания загрузки и всё. Что делать? Мне отображает что bytesLoaded равно bytesTotal, но он замирает. Может вес файла влияет на это? Или дело в другом?
Добавлено через 3 минуты Если обновляю страницу в браузере, срабатывает COMPLETE. |
FlashWizard
Код можно? Ссылка на использованный loader жива или после подписки и начала загрузки она теряется? Объем ни при чем. И на маленьких объемах некоторые теряют событие. Почему некоторые - у себя такого ни разу пока не встречал, а вот на некоторых сайтах регулярно что-то "не догружается" и приходится по Ctrl-F5 страницу обновлять. А причину найти было бы интересно. |
Вот код:
Код AS3:
|
Цитата:
|
и что делать ?
|
Научить сервер это делать, чтож еще-то?
PS Можно ручками сделать loader.loadBytes, когда bytesLoaded == bytesTotal |
Цитата:
Добавлено через 18 минут Ладно я сделал вторым способом Прописал это в обработчике прогресса: Код AS3:
|
Цитата:
В конструкторе Код AS3:
Код AS3:
|
dimarik, это некропост - решение было найдено уже. Тем не менее все равно я не понял что ты хотел донести сейчас...
|
Опять что-то не так.
Цитата:
Цитата:
|
Такое бывает при включеном gzip например. Особенно ИЕ не дружит с этим и не правильно / самостоятельно определяет размер контента. Скорее всего проблему кустарными способами не решить, только если она не возникла врезультате таких же кустарных манипуляций. Еще nginx известен тем, что перевирает размер контента, как с этим разбираться - не знаю.
ЗЫ. Если bytesLoaded != bytesTotal - то это уже очень плохо :) тут уже на клиенте это никак не решить. Надо чтобы присылали все, что запрашивалось. |
Цитата:
Код AS3:
Добавлено через 46 часов 42 минуты Кстати, обращаюсь к dimarik-у: Цитата:
|
У меня была подобная проблема. Одновременно грузились несколько swf. ProgressEvent.PROGRESS показывал 100%, а вот Event.COMPLETE у некоторых пропадал.
Решилось всё переносом момента создания ссылки на объект: сначала я создавал ссылку по событию COMPLETE; стал создавать сразу после создания самого Loader'а - всё нормализовалось. Я думаю, в моём случае, причина была в том, что загрузившийся и оставшийся без ссылки лоадер съедал GC. |
| Часовой пояс GMT +4, время: 15:19. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.