Сломанный проигрыватель флэш-фильмов! allowFullScreen не работает ни с чем, кроме значения wmode "window" (по умолчанию) - PullRequest
0 голосов
/ 14 апреля 2010

У меня есть флэш-плеер на странице, которая воспроизводит видео. У меня также есть модальные всплывающие окна (сделанные из элементов div), которые должны отображаться поверх флэш-плеера при их открытии и т. Д. Я не могу изменить ни одно из этих требований, поскольку они являются частью Спец мне дали.

Flash, кажется, игнорирует z-индексы, которые я установил для него с помощью css, и поэтому модальные всплывающие окна будут появляться над видеоплеером только в том случае, если я установил wmode видеоплеера в непрозрачный или прозрачный. Однако, если я это сделаю, то полноэкранные функции перестают работать правильно: когда я отключаю полноэкранное видео, оно остается увеличенным.

Короче говоря

  • Если вы откроете всплывающее окно на странице товара или другую страницу, содержащую flash Над этим должно отображаться всплывающее окно.

  • Flash игнорирует значения z-index.

  • Вы можете остановить вспышку, игнорируя z-index значения, установив wmode в непрозрачный или прозрачный, а не по умолчанию: окно.

  • Это останавливает работу полного экрана правильно.

Кто-нибудь еще сталкивался с этой проблемой раньше? Что я могу сделать, чтобы это исправить? Я думал о воссоздании видеопроигрывателя с помощью wmode = opaque всякий раз, когда я открывал модальное всплывающее окно, а затем переключал его обратно в окно wmode =, когда модальное всплывающее окно закрыто, поскольку это означало бы, что всплывающее окно должно отображаться над ним (как wmode = opaque ) и полноэкранный режим должен работать правильно (как wmode = window). Однако это вовсе не идеально: помимо того, что это взлом, это также будет означать, что воспроизведение видео прекратится, если кто-нибудь нажмет кнопку, открывающую всплывающее окно.

Ура!

1 Ответ

0 голосов
/ 23 апреля 2010

Ваш лучший выстрел, вероятно, будет прислушиваться к flash.events.FullScreenEvent.FULL_SCREEN, и когда это произойдет, принудительно сбросьте ширину и высоту видео объекта.

Это означает, что вы можете продолжать использовать непрозрачный wmode.

...