检查嵌入的YouTube视频是否已完成

时间:2014-01-11 09:38:15

标签: javascript youtube youtube-api youtube-javascript-api tampermonkey

所以我正在编写一个TamperMonkey脚本,将特定视频发送到YouTube的嵌入式播放器,但是我希望在视频播放完毕后自动发回。

例如,视频http://youtube.com/watch?v=XXXXX会重定向到http://youtube.com/v/XXXXX。然后,一旦视频完成,它将使用window.history.go(-2)(因为-1将转到正常页面导致循环)。

我遇到的问题是我无法获得第二部分,即视频完成时运行的功能。

我已经尝试过关注api并查看其他人的问题,看看有什么帮助他们,但我似乎无法得到它。

目前这是我的代码。

$(document).ready( function() {

    var loc = document.location.href;
    var l = loc.split('/');
    var s = l[4];
    var id = s.split('?')[0]

    // create youtube player
    var player;
    function onYouTubePlayerAPIReady() {
        player = new YT.Player('player', {
            height: '100%',
            width: '100%',
            videoId: id,
            events: {
                'onReady': onPlayerReady,
                'onStateChange': onPlayerStateChange
            }
        });
    }

    // autoplay video
    function onPlayerReady(event) {
        event.target.playVideo();
        alert('spotted');
    }

    // when video ends
    function onPlayerStateChange(event) {        
        if(event.data === 0) {            
            window.history.go(-2);
        }
    } 
});

如果有人和我合作让这个脚本正常工作,我将不胜感激。 感谢。

0 个答案:

没有答案