YouTuve IFrame API проблема с playerVars - PullRequest
0 голосов
/ 30 декабря 2018

Я хочу начать свое видео в определенное время дня.Это «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 голосов
/ 13 февраля 2019

Возможно, проблема в разделе 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;
  }

Это работаетjsfiddle со следующими изменениями:

  • Я изменил условие if для создания проигрывателя, если время 12:49 - для целей тестирования.
  • Удалите else ifи установите только else.
0 голосов
/ 30 декабря 2018

В вашем коде есть опечатка.Измените ширину на ширину.

Если проблема не устранена, предоставьте дополнительную информацию.

PS.Установите линтер, чтобы избежать опечаток;)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...