gpt4 book ai didi

javascript - 如何使用 Youtube iframe API 将数据传递给 onStateChange 事件处理程序

转载 作者:行者123 更新时间:2023-11-30 15:45:37 28 4
gpt4 key购买 nike

我正在使用 Javascript 为网站构建一个小型视频播放器。我有一个 JSON 格式的视频列表。我用

实例化我的播放器
var Videoplayer = new myVideoPlayer(data);

因为列表包含来自 Vimeo 和 YouTube 的视频,所以我想在这个对象中处理这两个 APIS。在里面我有这样的功能:

setVideo(videoId)

选择并播放视频,或者

markVideoAsSelected(video)

在 html 中添加类。

到目前为止一切都很顺利,但我现在碰壁了。当我通过 API 加载 YouTube 播放器时,我添加了:

events : {
'onStateChange': self.YTonStateChange
}

我想要的一切都绑定(bind)到我在开始时创建的 Videoplayer 实例。在状态改变时,我运行这个:

YTonStateChange : function(e){
var self = this
switch(e.data){
//Video ended code 0
case 0:
setTimeout(self.switchToNextVideo, 3000);
break;
}
}

问题:

this 现在已绑定(bind)到来自 YouTube API 的事件,我丢失了我的对象。我不知道,如何将我的对象实例与事件一起传递给事件处理程序?!里面有些东西我需要做进一步的操作,我怎样才能把它取回来?

最佳答案

只需将上下文绑定(bind)到“self”即可:

events : {
'onStateChange': self.YTonStateChange.bind(self)
}

它将在 YTonStateChange 回调中将“this”值强制为“self”。希望对您有所帮助 ;)

关于javascript - 如何使用 Youtube iframe API 将数据传递给 onStateChange 事件处理程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40114008/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com