JW Player: кросс-браузерное поведение «display: none» - PullRequest
3 голосов
/ 28 апреля 2010

Существует ли простой, открытый метод, позволяющий FF и IE одинаково обрабатывать скрытых JW-игроков?

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

Какой самый простой способ заставить оба браузера работать одинаково? Я надеюсь на решение CSS / HTML, будь то полное встраивание проигрывателей или правило стиля. В противном случае, я полагаю, мне нужно будет добавить прослушиватель элементов, который сравнивает текущий выбранный идентификатор вкладки с текущими активными игроками ... но я Я бы не пошел по этому пути.

Спасибо за ваши советы!

РЕДАКТИРОВАТЬ : Таким образом, я бы предпочел изменить CSS или разметку игрока при смене вкладки, чем отправлять события остановки всем игрокам, кроме игрока на активной вкладке.

Ответы [ 3 ]

3 голосов
/ 07 мая 2010

Это проблема с Internet Explorer. В то время как FF, Chrome и Safari убивают Flash, IE - нет. Единственный способ обеспечить остановку игрока - это отслеживать всех активных игроков на странице и вызывать остановку.

Лучшее

Zach

Разработчик, LongTail Video

0 голосов
/ 18 февраля 2011

Извините, мой друг. У меня большая проблема, которая не заставляет меня спать ... У меня есть сайт с: - div с видео (jwplayer) - div с галереей (лайтбокс, щелчок всплывающего окна с изображением)

Если проигрывать видео и пользователь (только с IE) нажимает на изображение, всплывающее окно появляется поверх видео, видео продолжает воспроизводиться (хорошо!), Но видео становится пустым! Когда я закрываю всплывающее окно с изображением, временная шкала видео воспроизводится нормально, но видео остается пустым (все черное).

Я пытался использовать то, что вы здесь написали, но безуспешно. Это скрипт, который я должен использовать для вставки jwplayer.

<div id="Player">player should load here</div>
    <script language="javascript" type="text/javascript">
    var flashvars = {};
    flashvars.linkfromdisplay = "true";
    flashvars.autostart = "false";
    flashvars.height = "' . $h . '";
    flashvars.controlbar = "over";
    flashvars.width = "' . $w . '";
    flashvars.repeat = "false";
    flashvars.bufferlength = "5";
    flashvars.displayheight = "' . $h . '";
    flashvars.displaywidth = "' . $w . '";
    flashvars.file = "http://blablabla.com";
    flashvars.type = "vdox";
    flashvars.provider = "vdox";
    var params = {};
    params.menu = "true";
    params.allowscriptaccess = "always";
    params.allowfullscreen = "true";
    params.wmode = "transparent";
    params.windowless="true";
    var attributes = {};
    attributes.id = "Player";
    attributes.name = "Player";
    swfobject.embedSWF("' . get_bloginfo("template_directory") . '/embed/mediaplayer.swf", "Player", "' . $w . '", "' . $h . '", "8","expressInstall.swf", flashvars, params, attributes);
    </script>

Я также пытался остановить видео через js перед открытием popover (player1.sendEvent ('STOP');): видео останавливается, но если я нажимаю кнопку воспроизведения, он остается черным.

Я также попытался удалить элемент видео с помощью jquery, сохранив его в переменной. Затем я вставляю кнопку «восстановить видео»: в Chrome работает, в IE вновь появляется видеообъект, он воспроизводится, но все черное. Спасибо

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

Если вы используете JavaScript для изменения вкладок, почему вы надеетесь на чисто CSS / HTML решение для вашей проблемы?

Я думаю, вы должны использовать JavaScript.

Взгляните на JW Player API: http://developer.longtailvideo.com/trac/wiki/Player5Api

Вы можете вызвать метод stop () на плеере.

player.stop();
...