vimeo Player 仅第一次绑定事件
Posted
技术标签:
【中文标题】vimeo Player 仅第一次绑定事件【英文标题】:vimeo Player only binds event the first time 【发布时间】:2020-10-20 23:39:56 【问题描述】:我有一个页面,一开始就为播放器保留了 iframe,下面有一个视频列表。
当您单击其中一个视频时,它会使用 js 函数加载到顶部的“播放器”上,相同的函数会创建 vimeo.Player 对象,然后绑定一个 on(timeupdate),当视频点击率达到 90%。
问题:第一次选择视频时,一切正常,但当您选择另一个视频时,它要么不添加监听器,要么不创建播放器。
顺序是这样的:function aux -> ver() - 主要是在 iframe id 上显示内容和 src 更新 -> 在最后创建新的 Vimeo.Player
function aux(element)
var player = ver(element),
cod = element.id;
console.log('code: ' + cod);
player.on('timeupdate', function(data)
console.log('upd');
if (data.percent > 0.9)
console.log('90');
$.ajax(
type: "POST",
url: "ajax.markvideo.php",
data:
code: cod,
email: <?php echo '"' . $_SESSION['email'] . '"' ?>
).done(function(msg)
player.off('timeupdate');
);
);
我尝试通过 textcontent 或子项删除来清空 iframe,因为这似乎是唯一发生变化的事情,但他们都没有做任何事情。
【问题讨论】:
什么时候调用aux
函数?
列表中的每个视频都是 onclick='aux(this)'
【参考方案1】:
使用 api loadVideo() 而不是直接更改 iframe src 来完成这项工作。
【讨论】:
以上是关于vimeo Player 仅第一次绑定事件的主要内容,如果未能解决你的问题,请参考以下文章
Vimeo Player API 提示点事件:未捕获类型错误:时间必须是数字