jwplayer v7.xx _.getVideoData不是函数问题

时间:2017-11-14 09:39:16

标签: javascript youtube youtube-api jwplayer jwplayer7

从今天起,当我想在我的网站上动态更改视频时,我在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 个答案:

答案 0 :(得分:1)

JW Player 7.12.x使用youtube-iframe-apigetVideoData方法在未经警告的情况下被删除,我们希望Google将其恢复以恢复使用它的集成功能。

可以在此处找到并分叉JW Player Youtube提供程序的源代码:

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

此项目正在跟踪此问题:

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

答案 1 :(得分:1)

尝试了补丁插件,但得到了错误:无法在'DOMWindow'上执行'postMessage':提供的目标来源('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];

答案 2 :(得分:0)

当你等待谷歌的消息时,我已经创建了一个插件来修复它。从这里下载:

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

(注意:您需要将URL复制并粘贴到浏览器中以获取代码,因为不允许使用热链接)

像任何其他JW插件一样应用它:

Brain

编辑:现在已更新以满足“autostart”:true 方案。 请注意,最近版本的Chrome现在会阻止不通过用户手势启动的媒体播放,并且由于JW Player无法正常处理生成的错误状态(例如,在尝试自动启动YouTube时),播放器将获得进入明显无休止的缓冲状态。此插件通过取消Chrome上的自动启动请求并将其留给用户启动播放来解决此问题。