Javascript 每隔30秒存储用户视频进度Plyr.js
我正在尝试每5秒获取一个当前视频进度值,这样我就可以在DB上发布一个帖子,使用JS和Plyr.JS API将其存储到用户视频进度表中,但显然是做错了什么。我的代码:Javascript 每隔30秒存储用户视频进度Plyr.js,javascript,plyr,Javascript,Plyr,我正在尝试每5秒获取一个当前视频进度值,这样我就可以在DB上发布一个帖子,使用JS和Plyr.JS API将其存储到用户视频进度表中,但显然是做错了什么。我的代码: player.on('timeupdate', () => { const currentTime = document.getElementById('current-time'); currentTime.innerText = player.currentTime; let
player.on('timeupdate', () => {
const currentTime = document.getElementById('current-time');
currentTime.innerText = player.currentTime;
let intervalId = setInterval( () => {
console.log(`Submitted timestamp to DB every 5 sec`)
}, 5000);
if (intervalId) {
clearInterval(intervalId);
}
//console.log(player.currentTime);
});
上面的代码根本没有fire console.log。如果我删除clearInterval(),console.log会在5秒后被触发,但每隔一秒左右就会重复一次,而不是在5秒后。在浏览Plyr文档后找到解决方案,收听播放是一种选择:
player.on('play', () => {
setInterval( function() {
// POST current time and state to the server
console.log(player.currentTime);
const currentTime = document.getElementById('current-time');
currentTime.innerText = player.currentTime;
}, 3000);
//console.log(player.currentTime);
});