Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 28.11.2014, 08:30
Интересующийся
Отправить личное сообщение для Zero Tolerance Посмотреть профиль Найти все сообщения от Zero Tolerance
 
Регистрация: 13.07.2013
Сообщений: 11

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 не вызывается. В чем проблема?
Ответить с цитированием
  #2 (permalink)  
Старый 28.11.2014, 10:14
Аватар для Erolast
Профессор
Отправить личное сообщение для Erolast Посмотреть профиль Найти все сообщения от Erolast
 
Регистрация: 24.09.2013
Сообщений: 1,436

В том, что скрипты 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');
}
Ответить с цитированием
  #3 (permalink)  
Старый 28.11.2014, 11:16
Интересующийся
Отправить личное сообщение для Zero Tolerance Посмотреть профиль Найти все сообщения от Zero Tolerance
 
Регистрация: 13.07.2013
Сообщений: 11

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

Но получаю null. И почему-то два раза.
Ответить с цитированием
  #4 (permalink)  
Старый 28.11.2014, 12:11
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,123

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

}
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Срочно Youtube API, ОПЛАТА taibert Работа 0 11.11.2014 08:08
Отмена функции связанной с JS API google.maps mr__brainwash Events/DOM/Window 3 20.10.2014 13:50
Angular + Youtube Player ivanesi Angular.js 6 10.07.2014 16:16
Посоветуйте как улучшить код для работы с history api [ jquery + js + history api ] Geo Ваши сайты и скрипты 0 12.01.2014 00:41
Сайт использует js API anti-tem Ваши сайты и скрипты 0 24.10.2013 19:59