jwplayer v7.ХХ.getVideoData не проблема функция



С сегодняшнего дня у меня есть следующая проблема с размещенными на youtube видео, когда я хочу динамически изменить видео на своем сайте.



_.getVideoData не является функцией



Uncaught TypeError: _.getVideoData is not a function
at M (ssl.p.jwpcdn.com/player/v/7.12.11/provider.youtube.js:1)
at load (ssl.p.jwpcdn.com/player/v/7.12.11/provider.youtube.js:1)
at l.a (ssl.p.jwpcdn.com/player/v/7.12.11/provider.youtube.js:1)
at l.<anonymous>
(ssl.p.jwpcdn.com/player/v/7.12.11/provider.youtube.js:1)
at P (ssl.p.jwpcdn.com/player/v/7.12.11/provider.youtube.js:1)
at K.f.I (s.ytimg.com/yts/jsbin/www-widgetapi-vflnzpyZ4/www-
widgetapi.js:66)
at W.f.l (s.ytimg.com/yts/jsbin/www-widgetapi-vflnzpyZ4/www-
widgetapi.js:114)
at W.f.J (s.ytimg.com/yts/jsbin/www-widgetapi-vflnzpyZ4/www-
widgetapi.js:127)
at S.g (s.ytimg.com/yts/jsbin/www-widgetapi-vflnzpyZ4/www-
widgetapi.js:143)
at g (s.ytimg.com/yts/jsbin/www-widgetapi-vflnzpyZ4/www-
widgetapi.js:95)


До сегодняшнего дня он работал нормально. (Версия jwplayer 8 показывает ту же проблему)

652   3  

3 ответов:

JW Player 7.12.x используетyoutube-iframe-api . Метод getVideoData был удален без предупреждения, и мы хотели бы, чтобы Google вернул его, чтобы восстановить функциональность интеграций, которые его используют.

Источник для провайдера Youtube JW Player можно найти и разветвить здесь:

Https://github.com/jwplayer/jwplayer/blob/v7.12.x/src/js/providers/youtube.js

И эта проблема отслеживается в проекте здесь:

Https://github.com/jwplayer/jwplayer/issues/2525

Попробовал плагин patch, но получил ошибку: не удалось выполнить 'postMessage' на 'DOMWindow': целевой источник указан ('https://www.youtube.com ') не соответствует получателю

Обновление:

При компиляции из source/git v7. 12;

В src / js / providers / youtube.js

Заменить:

var videoData = _youtubePlayer.getVideoData();
var currentVideoId = videoData && videoData.video_id;

С:

var videoData = _youtubePlayer.getVideoUrl();
videoData = videoData.split('=');
var currentVideoId = videoData[1];

Пока вы ждете слово от Google, я создал плагин, чтобы исправить это в то же время. Скачать его можно ЗДЕСЬ:

Https://www.dev.powered-by-haiku.co.uk/solutions/getvideodata/code/getvideodata.js

(Примечание: вам нужно скопировать и вставить URL-адрес в браузер, чтобы получить код, так как горячая ссылка не разрешена)

Примените его, как и любой другой JW плагин:

"plugins":{
     "getvideodata.js":{}
}

EDIT: Теперь это было обновлено, чтобы удовлетворить "автозапуск": истинный сценарий. Обратите внимание, что последние версии Chrome теперь блокируют воспроизведение мультимедиа, которое не инициируется с помощью жеста пользователя, и поскольку JW Player не обрабатывает полученное состояние ошибки изящно (например, при попытке автоматического запуска YouTube), плеер перейдет в состояние кажущейся бесконечной буферизации. Этот плагин решает эту проблему, отменяя запрос автозапуска в Chrome и оставляя его пользователю для запуска воспроизведения.

Comments

    Ничего не найдено.