Youtube对象#<s>没有方法'playVideo'</s>

时间:2013-10-08 07:58:17

标签: javascript youtube-api

我正在尝试使用javascript创建一个youtube-playback。

我发起了这样的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
                }
            }
        }
    });
}

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

function playvideo(){     player.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)

我认为角度正在干扰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

2 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:0)

对于有这个问题的其他人:检查您提供的身份

new YT.Player() 

实际上存在于文件中。