Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   YouTube JS Player API (https://javascript.ru/forum/misc/51972-youtube-js-player-api.html)

Zero Tolerance 28.11.2014 08:30

YouTube JS Player API
 
Приветствую. Начал создавать Greasemonkey скрипт, который будет работать, когда смотришь видео на YouTube (youtube.com/watch?=v*).
Делаю по документации: пытаюсь словить вызов onYouTubePlayerReady:
Код:

// ==UserScript==
// @name        YouTube
// @namespace  https://www.youtube.com
// @include    https://www.youtube.com/watch?v=*
// @version    1
// @grant      none
// ==/UserScript==

function onYouTubePlayerReady(playerId)
{
  alert('hello');
}

Но alert не вызывается. В чем проблема?

Erolast 28.11.2014 10:14

В том, что скрипты greasemonkey исполняются в песочнице. Надо так:
// ==UserScript==
// @name        YouTube
// @namespace   [url]https://www.youtube.com[/url]
// @include     [url]https://www.youtube.com/watch?v=*[/url]
// @version     1
// @grant       none
// ==/UserScript==

window.onYouTubePlayerReady = function(playerId)
{
  alert('hello');
}

Zero Tolerance 28.11.2014 11:16

Erolast, спасибо, а далее как работать? Пробую так:
window.onYouTubePlayerReady = function(playerId)
{
  ytplayer = document.getElementById(playerId);
  alert(ytplayer);
}

Но получаю null. И почему-то два раза.

рони 28.11.2014 12:11

Zero Tolerance, смена любого видео на свой ролик ... как пример
window.onYouTubePlayerReady = function(playerId)
{
  if(playerId){
    ytplayer = playerId;
    ytplayer.cueVideoById("RshlN2ELh5U");
    ytplayer.playVideo()
  }

}


Часовой пояс GMT +3, время: 10:42.