PlayerVars的YouTuve IFrame API问题

时间:2018-12-30 16:57:05

标签: javascript youtube-iframe-api

我想在一天的特定时间开始播放视频。这是'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()时,我得到的结果是相同的。

2 个答案:

答案 0 :(得分:0)

您的代码中有错字。 将宽度更改为宽度。

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

PS。安装短绒棉布,以避免错别字;)

答案 1 :(得分: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