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 показывает ту же проблему)
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
И эта проблема отслеживается в проекте здесь:
Попробовал плагин 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