【问题标题】:Youtube Object #<S> has no method 'playVideo'Youtube 对象 #<S> 没有方法“playVideo”
【发布时间】:2013-10-15 01:12:36
【问题描述】:

我正在尝试创建一个使用 javascript 启动的 youtube 播放。

我像这样启动一个 youtubeplayer:

var player;
function onYouTubeIframeAPIReady() {
    player = new YT.Player('player', {
        height: '720',
        width: '1280',
        html5: 0,
        videoId: 'i8IXMGHpGBk',
        playerVars: {'modestbranding': 1, 'controls': 1,'showinfo': 0 },
        events: {
            'onStateChange': function(e) {
                if (e.data === 0) {
                    //skrolla här
                }
            }
        }
    });
}

然后,我有一个启动播放器的功能,如下所示:

函数播放视频(){ 播放器.playVideo(); }

根据文档,播放器对象应具有此方法。

由于某种原因,我得到了错误

TypeError: Object #<S> has no method 'playVideo'
    at Object.Video.$scope.play (file://localhost/Users/kristoffer.nolgren/web/blossa2013dev/js/main.js:7:10)
    at https://ajax.googleapis.com/ajax/libs/angularjs/1.1.5/angular.min.js:74:98
    at https://ajax.googleapis.com/ajax/libs/angularjs/1.1.5/angular.min.js:156:140
    at Object.e.$eval (https://ajax.googleapis.com/ajax/libs/angularjs/1.1.5/angular.min.js:92:272)
    at Object.e.$apply (https://ajax.googleapis.com/ajax/libs/angularjs/1.1.5/angular.min.js:92:379)
    at HTMLDivElement.<anonymous> (https://ajax.googleapis.com/ajax/libs/angularjs/1.1.5/angular.min.js:156:122)
    at https://ajax.googleapis.com/ajax/libs/angularjs/1.1.5/angular.min.js:24:49
    at Array.forEach (native)
    at n (https://ajax.googleapis.com/ajax/libs/angularjs/1.1.5/angular.min.js:6:470)
    at HTMLDivElement.c (https://ajax.googleapis.com/ajax/libs/angularjs/1.1.5/angular.min.js:24:20)

我认为 angular 会干扰 youtube api,但我不明白如何。

这是玩家对象的第一层:

Y {b: nb, a: iframe#player, i: div#player, id: 1, d: 2…}
a: iframe#player
b: nb
closure_uid_954797855: 1
d: 3
g: O
h: Object
i: div#player
id: 1
k: Object
o: "player"
s: Array[1]
t: false

【问题讨论】:

  • 这可能是因为它是从文件系统中引用的。

标签: javascript youtube-api


【解决方案1】:

这是因为 YouTube API 是从文件系统 file:// 而不是 http:// 访问的。

【讨论】:

    【解决方案2】:

    对于其他有此问题的人:检查您提供给的 ID

    new YT.Player() 
    

    实际存在于文档中。

    【讨论】:

      猜你喜欢
      • 2014-06-29
      • 1970-01-01
      • 2017-09-26
      • 1970-01-01
      • 1970-01-01
      • 2011-03-13
      • 2012-01-10
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多