Как определить, когда загружается встроенный флэш-объект? - PullRequest
2 голосов
/ 13 января 2009

При встраивании флеш-объекта есть способ определить, когда он полностью загружен?

Это мой основной вопрос, но для всех, кто интересуется деталями, стоящими за ним:

Я использую плагин jQuery ( DOMWindow ). Для тех, кто не знаком, это основное наложение, которое отображается по центру на странице, поверх всего остального содержимого, которое затемнено.

Внутри DOMWindow я встроил видео с YouTube. Разметка, используемая для встраивания видео, вводится AJAX.

DOMWindow имеет встроенную загрузочную графику, но проблема, с которой я сталкиваюсь, заключается в том, что запрос AJAX GET выполняется почти мгновенно, и в течение 3-5 секунд я застреваю, глядя на белый прямоугольник, ожидая YouTube видео для загрузки.

Если бы я мог выяснить, как определить, когда она закончила загрузку, я мог бы написать более изящную схему загрузки (используя анимированный спиннер) внутри DOMWindow.

Ответы [ 3 ]

2 голосов
/ 13 января 2009

Вам стоит взглянуть на эту страницу API-интерфейс Javascript для проигрывателя Youtube . Подписка на событие onStateChange и поиск его возврата 5 - это то, что вы хотите сделать.

Я оставлю свой первоначальный ответ, на случай, если он еще пригодится. Это ниже.

Возможно, вы захотите посмотреть эту запись в блоге . Он передает события Flash в javascript для мониторинга видео. В частности, он упоминает, что фильм ждёт и подключается к плееру. Я не уверен, что эти методы работают с плеером YouTube.

1 голос
/ 10 апреля 2009

Если вы ищете более общую ссылку на Flash, Flash делает доступными OnProgress, OnReadyStateChange и PercentLoaded в качестве свойств Javascript элемента OBJECT или EMBED. http://www.adobe.com/support/flash/publishexport/scriptingwithflash/scriptingwithflash_03.html

0 голосов
/ 14 января 2009

Лучший способ сделать это - получить от Flash подтверждение того, что оно готово к отображению (как, в данном случае, с помощью API YouTube).

Если не считать этого, объективная точка не заканчивается, когда заканчивается загрузка Flash-фильма. Как только первый кадр загружен, он может отображать начальный контент, в то время как более поздний контент загружается, и даже если загружен корневой SWF-файл, ему может потребоваться загрузить больше внешнего контента, прежде чем он сможет что-либо отобразить. (Вероятно, YouTube относится к этой последней категории, как и любой сервис, контент которого загружается контейнером SWF.)

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