Как я могу остановить видео с помощью Javascript на Youtube?

Ситуация: здесь, где я нажал какое-то видео.

Проблема: я пытаюсь остановить видео с помощью Javascript в консоли Firebug:

player.stopVideo(playerid):Void   [1] [2]

Вопрос. Почему указанная выше команда не работает?

[1] Источник для части "player.stopVideo():Void"

[2] Я посмотрел playerid с помощью Firebug из исходников.


person Léo Léopold Hertz 준영    schedule 07.07.2009    source источник


Ответы (3)


Ваше видео запрашивает с включенным JSAPI, так что вы очень близки! Все, что вам нужно, это действующая ссылка на встроенный проигрыватель. Проверка вашей страницы показала, что вы используете идентификатор элемента HTML DOM "playerid" для идентификации вашего игрока.

Пример:

<embed id="playerid" width="100%" height="100%" allowfullscreen="true" allowscriptaccess="always" quality="high" bgcolor="#000000" name="playerid" style="" src="http://www.youtube.com/apiplayerbeta?enablejsapi=1&playerapiid=normalplayer" type="application/x-shockwave-flash">

Чтобы получить ссылку на плеер и затем остановить видео, используйте следующий код:

var myPlayer = document.getElementById('playerid');
myPlayer.stopVideo();
person Andrew Martinez    schedule 13.07.2009
comment
Предложение: Ваше видео запрашивает с включенным JSAPI, так что вы очень близки! То есть он не работает без включенного API? - person Léo Léopold Hertz 준영; 20.07.2009
comment
То есть я могу контролировать такие вещи, как на сайте, только если разработчик разработал для него API? Мне это кажется странным, потому что JS запускается на клиенте. Почему невозможно управлять JS на любом произвольном сайте без включенного JS API? - person Léo Léopold Hertz 준영; 20.07.2009
comment
YouTube указал, что их плеером нельзя управлять через JS, если только видео не запрашивается с включенным JSAPI. Чтобы включить его, нужно просто запросить видео YouTube со следующим строковым параметром GET: enablejsapi=1 Дополнительная информация и примеры: code.google.com/apis/youtube/js_api_reference.html - person Andrew Martinez; 21.07.2009

Следующее работает хорошо, проверено на сервере wamp. Просто замените 11-значный идентификатор в следующей строке идентификатором видео, которое вы хотите воспроизвести.

http://www.youtube.com/v/***LpbzbyGjJGE***?enablejsapi=1&version=3&playerapiid=ytplayer

Удачи.

 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
</head>

<body>

<a href="#" onclick="var myPlayer = document.getElementById('playerid'); myPlayer.pauseVideo();">Pause</a>
<a href="#" onclick="var myPlayer = document.getElementById('playerid'); myPlayer.playVideo();">Play</a>
<embed id="playerid" width="500px" height="400px" allowfullscreen="true" allowscriptaccess="always" quality="high" bgcolor="#000000" name="playerid" style="" src="http://www.youtube.com/v/LpbzbyGjJGE?enablejsapi=1&version=3&playerapiid=ytplayer" type="application/x-shockwave-flash">
</body>
</html>
person Amar    schedule 28.08.2012
comment
Лучший ответ 10/10. Спасибо. - person mrbubl3s; 22.09.2014

Так что это самый быстрый способ сделать это!

Откройте параметры разработчика

Наведите курсор на кнопку воспроизведения YouTube.

Нажмите Control/Command + Shift + C

Выберите кнопку

Добавьте к нему идентификатор.

Перейдите в консоль и выполните следующее

var x = document.getElementById('id'); х.щелчок();

Вот и все!

person Alpha Beta    schedule 01.01.2018