我有一些YouTube嵌入代码(我将仅粘贴对我造成麻烦的代码,并删除不公开的内容):

console.log(ytplayer);
ytplayer.playVideo();

Chrome和FF上的Console.log向我展示了具有正确方法的良好对象,并且在那里存在playVideo()方法。而且它适用于我检查过的所有其他浏览器,但不适用于FF !?更有趣的是,当我使用正常的YouTube播放按钮播放视频时,可以使用pauseVideo()方法(以及其他所有方法:寻找,控制音量),但是不能使用playVideo()方法...

我使用嵌入视频的新方法:
ytplayer = new YT.Player(player, {
        height: height,
        width: width,
        videoId: videoid,
        allowfullscreen: 'true',
        playerVars: {
            controls: 0,
            showinfo: 0,
            wmode: 'opaque',
            autoplay: (autoplay ? 1 : 0)
        },
        events: {
            'onReady': function () {
                console.log('I am ready');
            }
        }
    });

当然,控制台输出中有“我准备好了”。我不知道我做错了什么,为什么只有FF无法正常工作...没有JS错误,也没有任何线索...希望以前有人遇到过此问题并解决了问题!

最佳答案

我遇到了一个非常相似的问题,并且一直在努力寻找答案。我对playVideo()的调用似乎无效。

原来的:

$('#play_movie').click(function(){
    $('#video').show();
    if(player)
    {
        if(typeof player.playVideo == 'function')
        {
            player.playVideo();
        }
    }

问题是播放器尚不可用-如果我给它一点时间出现,则通话正常
$('#play_movie').click(function(){
    $('#video').show();
    if(player)
    {
        var fn = function(){ player.playVideo(); }
        setTimeout(fn, 1000);
    }

不知道这是否是您的确切问题,但我希望它能对某人有所帮助

关于javascript - YouTube播放器iframe API : playVideo doesn't work on Firefox 9. 0.1,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/9287170/

10-13 01:40