在 Iframe 中播放的 Youtube 视频触发间歇性事件

Intermittent events trigger for Youtube video played in Iframe

提问人:Santhosh 提问时间:5/11/2023 最后编辑:James ZSanthosh 更新时间:5/12/2023 访问量:23

问:

我正在尝试处理“onStateChange”、“onReady”和“onError”事件,此事件有时不会触发,而是间歇性触发。我做错了什么吗?

我在stackoverflow中看到了多个类似的问题,但没有一个有类似的问题陈述。

initializePlayer() {
  window['YT'] = null;
  const tag = document.createElement('script');
  tag.src = 'https://www.youtube.com/iframe_api';
  tag.id = 'youtubeVideoId';
  const firstScriptTag = document.getElementsByTagName('script')[0];
  firstScriptTag.parentNode.insertBefore(tag, firstScriptTag);
  window['onYouTubeIframeAPIReady'] = () => this.startVideo();
}

startVideo() {
    console.log("video started");
  this.player = new window['YT'].Player('player', {
    videoId: 'y881t8ilMyc',
    events: {
      'onStateChange': this.onPlayerStateChange,
      'onReady': this.onPlayerReady,
      'onError': this.onPlayerError,
    }
  });
}

onPlayerError(event){
    console.log("Error in video:"+event.data);
}

onPlayerReady(event){
    console.log('onready in video play:'+event.data);
}

onPlayerStateChange(event) {
    console.log("onPlayerStateChange:"+event.data);
    switch (event.data) {
        case window['YT'].PlayerState.ENDED:
            this.videoEndTriggerClick();
            break;
    }
}
javascript angular 事件 iframe youtube-api

评论


答: 暂无答案