Flash-видео, все еще воспроизводимое на DIV, которое удаляется с помощью jQuery (ошибка IE) - PullRequest
14 голосов
/ 27 ноября 2009

У меня есть несколько вкладок jQuery, одна из которых содержит флэш-видео. Когда я воспроизводю видео на одной вкладке и нажимаю на другую в FF или Safari, видео останавливается вместе со звуком, при нажатии на вкладку видео происходит перезагрузка контента - как и ожидалось.

В Internet Explorer это не так, видео продолжает воспроизводиться, даже если вкладка не выбрана. Насколько я понимаю, когда display:none (jQuery hide ()) применяется элемент DOM по существу удаляется из макета - почему это не происходит с браузерами IE, как я могу это исправить?

Ответы [ 13 ]

0 голосов
/ 27 ноября 2009

Самое полезное, что вы можете сделать, это сообщение о том, какой видеоплеер вы используете. Youtube и Brightcove имеют API-интерфейсы Javascript, которые можно использовать для управления плеером. Как говорит здесь tahdhaze, лучшее, что можно сделать, это остановить игрока на событии window.onBlur и запустить его снова, когда оно получит фокус.

Использование CSS для остановки воспроизведения видео в лучшем случае сложно, а в худшем случае - взломать ... использовать API-интерфейс моста Flash-Javascript, который поставляется с проигрывателем.

0 голосов
/ 27 ноября 2009

Вам может потребоваться запрограммировать функцию player.stop или player.pause для игрока в событии onBlur на странице.

0 голосов
/ 27 ноября 2009

Скорее всего, вы применяете display: none; к элементу div, содержащему объект flash, а не сам объект flash.

Сегодня я баловался с подобной проблемой, и, хотя у меня нет точного решения для вас, у меня есть возможность, которую вы можете попробовать, прыгнув между div, попытаться выключить плеер:

$(flashobjectid).attr('height', '0');

Если используемый вами флэш-плеер является наиболее часто используемым jw-плеером, то вы можете сделать (когда вы скрываете div):

document.getElementById(playerId).sendEvent("PLAY","false"); 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...