我在这里看到了很多关于计算用户总视频观看次数的讨论。那不是我需要的。
我正在开发一个基于网络的实验,用户将看到一个视频,然后在 2 张图片之间进行选择。他们可以选择点击视频进行重播,我只想跟踪他们在做出选择之前重播给定视频的次数。该脚本的设计使得视频在结束之前无法重播,此时鼠标单击将从头开始重播。
尝试 1:使用事件侦听器在 onplay 触发时增加计数器。
问题 1:在 addeventlistener 函数中使用增量函数会导致类似循环的行为。计数器不会每次递增一次,而是会递增等于其当前值的次数。不好。
尝试 2:从 addlistener 语句中取出增量语句/函数。问题 2:这会产生很好的增量,但它只计算 CLICKS 的数量,而不是 PLAYS 的数量。例如,如果用户双击,计数器会将其注册为“2”,而视频将仅播放一次作为响应。
我确定尝试 1 更接近标记,所以这是我的代码,也许有人可以告诉我为什么我会得到如此循环的结果?双关语意。这段代码显示了这两个问题:它像循环一样递增,它计算点击次数而不是播放次数。第一个对我来说更神秘,但我很难解决第二个。如果你们中的任何一个都能解决这两个问题,我将不胜感激!
我的部分问题可能源于我通过“onclick”调用 PlayVideo() 函数这一事实。我愿意接受其他方式来减少问题。
PS我也不想计算视频结束的次数,因为许多用户可能会在视频结束之前做出选择。增量需要尽早发生。
function PlayVideo(){
var myVideo = document.getElementsByTagName('video')[0];
myVideo.play();
myVideo.addEventListener('playing', function(){
viewcounter++}, false);
console.log(viewcounter);
//myVideo.addEventListener('onplay', viewcounter++);
}