Сайт YouTube встроенное видео продолжает играть - PullRequest
4 голосов
/ 30 сентября 2011

Я использую iframe, который мне дал YouTube, чтобы вставить видео на мой сайт.

Я также использую всплывающее окно CSS, которое я узнал с этой страницы http://www.pat -burt.com / веб-разработка / как к делать-а-CSS-всплывающее окно-без открытия-а-нового окна /

Так что мой HTML-код выглядит так

<div id="blanket" style="display:none;"></div>
<div id="popUpDiv" style="display:none;">
<font size="4" color="#ffffff"><a style="color: #ffffff" href="javascript:void(null)" onclick="popup('popUpDiv')">Close</a><br></font>
<iframe width="560" height="315" src="http://www.youtube.com/embed/h3Pb6IyFvfg" frameborder="0" allowfullscreen></iframe>
</div>
<a href="javascript:void(null)" onclick="popup('popUpDiv')" class="more_details">more details</a>

И все работает так, как я хочу, однако, если я переключаю свой браузер на Internet Explorer или Chrome, когда я выбираю закрыть, чтобы закрыть всплывающее окно, в котором видео продолжает воспроизводиться? Я немного погуглил и нашел других с той же проблемой, однако я смог найти только код, который не работал так, как предполагалось.

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

Ответы [ 3 ]

8 голосов
/ 30 сентября 2011

Я сталкивался с той же проблемой раньше.
То, что я сделал, удалил источник iframe , когда я закрыл всплывающее окно, и вернул его на , когда я открыл его в jQuery. Таким образом, я уверен, что видео не будет воспроизводиться, когда всплывающее окно закрыто.

Редактировать Добавлен пример:

Добавьте необязательный параметр в вашу функцию, содержащий URL-адрес видео

<a href="javascript:void(null)" onclick="popup('popUpDiv', 'http://www.youtube.com/embed/NWHfY_lvKIQ')" class="more_details">more details</a>

Установите источник вашего iframe в своей функции с помощью URL-адреса видео

function popup(pPopup, pYt){ //pYt optional
    $('iframe').attr('src', pYt);
}

Добавьте эту строку в свой код, если вы хотите удалить источник

$('iframe').attr('src', '');
1 голос
/ 30 сентября 2011

Вы также можете отказаться от кода iframe и использовать встраивание на YouTube.Затем в вашем событии javascript вы можете player.pauseVideo();, где player - ваш встроенный объект.

Использовать API Player Youtube: http://code.google.com/apis/youtube/js_api_reference.html#Playback_controls

0 голосов
/ 30 сентября 2011

Изменение отображения кадра не остановит видео.Вы должны будете удалить элемент iframe, когда всплывающее окно закроется.

...