Что делать, когда loaderInfo.bytesTotal равен нулю - PullRequest
5 голосов
/ 23 ноября 2011

Я разрабатываю флэш-файл, который будет загружен на десятки веб-сайтов, которые я не могу контролировать. Я обнаружил, что один из них, кажется, gzipping swf, что приводит к нулю loaderInfo.bytesTotal. Это портит анимацию загрузки.

Я попытался обойти просто тестирование, если bytesTotal равно нулю, если это так, просто продолжайте. Это не работает, потому что, как и ожидалось, еще не все необходимые данные загружены. В качестве альтернативы я могу установить временную задержку, равную ожидаемому времени загрузки, и надеюсь, что оно охватывает все базы.

У кого-нибудь есть другие предложения? В идеале есть альтернативный способ определения bytesTotal, но я не нашел его.

К вашему сведению, это в некоторой степени связано с этим вопросом: Почему loaderInfo.bytesTotal равно нулю

Но я не могу сделать предложение htaccess, потому что у меня нет контроля над другими сайтами, некоторые из которых в любом случае могут быть на серверах Windows.

Ответы [ 3 ]

0 голосов
/ 23 ноября 2011

Возможно, вы захотите изменить подход, чтобы фильм мог загружаться постепенно. Если вы уберете галочку «экспортировать в кадре 1» в своих определениях символов, все будет загружаться там, где оно используется в первый раз. Обратите внимание, что это будет работать только в том случае, если вы позволили Flash разместить большинство ваших объектов на сцене для вас с помощью IDE. Чтобы узнать больше об этом подходе, посмотрите http://www.developria.com/2010/04/combining-the-timeline-with-oo.html. Код для статьи здесь http://flexdiary.blogspot.com/2010/04/sample-code-for-oop-timeline-insideria.html

0 голосов
/ 19 февраля 2013

Проблема в том, что Google Chrome использует свою собственную версию Flash player. Если вы отключите его в настройках Chrome, bytesTotal будет в порядке. Но вы не можете сказать всем, чтобы отключить его, конечно.

Я нашел решение, как вы можете определить, когда загрузка полностью завершена в любой ситуации. Вы можете проверить этот ответ: Почему loaderInfo.bytesTotal равно нулю

0 голосов
/ 23 ноября 2011

Если возможно, вы можете передать общее количество байтов через flashvars или сохранить его где-нибудь в файле. Если вы используете какой-либо сценарий для определения файлов для загрузки, вы также можете задать размер и передать его во флэш-память, чтобы в этом случае, если общее количество байт равно 0, вы могли рассчитывать прогресс на основе размера, указанного другим способом.

Это единственное решение, которое я знаю для этой проблемы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...