YouTube IFrame API与playerVars有关

问题描述 投票:0回答:2

我想在一天中的某些时间开始播放我的视频。这是'script.js':

    var player;
function createPlayer() {
    player=new YT.Player('main-block',{
        height:'400',
        width:'400',
        playerVars:{
            'rel':0,
            'controls':0,
            'showinfo':0,
            'disablekb':1,
            'modestbranding':1,
            'enablejsapi':1
        },
        videoId:'tgbNymZ7vqY',
        events:{
            'onReady':onPlayerReady
        }
    });
}
function onPlayerReady(event) {
        document.getElementById("timer").style.display='none';
        event.target.playVideo();
  }

function clockPlayer(){
        var now = new Date();
        if (now.getHours()==20 && now.getMinutes()==18){
            createPlayer();
        }else if(now.getHours()<20){
            var time_hours = 19 - now.getHours();
            var time_min = 59 - now.getMinutes();
            var time_sec = 59 - now.getSeconds();
            var hours=((time_hours<10) ? "0":"") + time_hours;
            var min=((time_min<10)? "0":"") + time_min;
            var sec=((time_sec<10)? "0":"") + time_sec
            var time = hours + ':' + min + ':' + sec;
            document.getElementById("timer").innerHTML=time;
        }
    }

        setInterval(clockPlayer, 1000);

当我尝试调用此函数时,我的浏览器会忽略'playerVars',我无法理解为什么。

这是index.html:

 <body>
        <script language="javascript" src="https://www.youtube.com/iframe_api"></script>
        <div id="timer"></div>
        <div id="main-block"></div>   
        <script language="javascript" src="script.js"></script>
    </body>

时钟功能现在有随机日期,我稍后会更改。当我尝试使用没有时钟功能的createPlayer()时,我得到了相同的结果。

javascript youtube-iframe-api
2个回答
0
投票

您的代码中有拼写错误。将宽度更改为宽度。

如果问题仍然存在,请提供更多信息。

PS。安装一个linter以避免拼写错误;)


0
投票

也许问题出在代码的else if部分。

我改变了这样,它按预期工作:

if (now.getHours() == 1 && now.getMinutes() == 12) {
    createPlayer();
  } else {
    var time_hours = 19 - now.getHours();
    var time_min = 59 - now.getMinutes();
    var time_sec = 59 - now.getSeconds();
    var hours = ((time_hours < 10) ? "0" : "") + time_hours;
    var min = ((time_min < 10) ? "0" : "") + time_min;
    var sec = ((time_sec < 10) ? "0" : "") + time_sec
    var time = hours + ':' + min + ':' + sec;
    document.getElementById("timer").innerHTML = time;
  }

这是working jsfiddle,有以下修改:

  • 一旦时间是12:49,我改变了创建玩家的if条件 - 用于测试目的。
  • 删除else if并仅设置else
© www.soinside.com 2019 - 2024. All rights reserved.