Youtube API的“ this”关键字不起作用

时间:2019-02-08 17:41:53

标签: iframe youtube-api youtube-iframe-api

我使用Youtube iframe API在页面上加载了四个视频。我发现,如果您在视频播放结束后运行.stopVideo(),如下所示:

 player = new YT.Player('S1_iframe', {
          videoId: 'nWMpQMiWXNc',
          events: {

          'onStateChange': function(event) {
                 if (event.data == YT.PlayerState.ENDED) 
                 { player.stopVideo(); }                    
              }
      }
});

它在视觉上“重置”了视频,使其看起来像单击之前一样。我喜欢这样,想为每个视频都这样做,但是问题是我不想编写一个新的函数来为每个播放器调用:

function(event) { 
     if (event.data == YT.PlayerState.ENDED) 
     { player.stopVideo(); }                    
                }

必须有一个更好的解决方案。有一种写这样的东西的方法:

function onPlayerStateChange(event){

        if (event.data == YT.PlayerState.ENDED) 
        { 
            this.stopVideo(); 
        }
    }

并为每个播放器调用该函数,以便该函数关注正在调用它的特定播放器并仅为该播放器触发.stopVideo()?上面函数中的“ this”关键字不能解决问题。这是代码库:https://codepen.io/Wcomp/pen/vbdLam

0 个答案:

没有答案