如何跟踪用户在YouTube Player API中观看视频的时间



问题是,如果有人在播放视频时离开,同一个人可以返回视频页面,网站将从用户离开时自动播放。
目前我正在使用YouTube播放器API加载视频。

朋友们,我该如何解决这个问题
我不确定,但我正试图用这个关键词进行研究
但仍然没有完成
"如何跟踪用户在YouTube Player API中观看视频的时间"。

使用YT API并在play上启动计时器,在pausestop上停止计时器。不太准确,因为用户可能会让播放器打开但不看视频,但可能会这样做。

很早以前就使用YT API了,但现在直接将事件作为javascript中的任何其他事件挂钩,只需启动/停止计时器(或任何用于测量时间的计时器)。首先将total_viewed_time设置为零,然后在play上计算start_time,在stop/pause/finish上按查看的时间更新total_viewed_time,即end_time-start_time。例如,请参阅以下内容:

var total_viewed_time = 0, start_time = 0, end_time = 0;
// assume we have a yt video which we we hook for events (see YT API for exactly how to hook)
ytvideo.on('play', function( ){
    start_time = new Date().getTime(); // milliseconds
    end_time = start_time;
});
ytvideo.on('pause stop finish', function( ){
   end_time = new Date().getTime(); // milliseconds
   total_viewed_time += end_time-start_time; // milliseconds
});
// total_viewed_time measures how much time (in milliseconds) the user had the player on (maybe watching?)
// you can then convert this time to seconds or minutes or whatever suits you
// to get the time in seconds do: total_viewed_time/1000
// to get the time in minutes do: total_viewed_time/(60*1000)
// and so on..

此外如果应用程序需要检查用户是否切换了浏览器选项卡或窗口,则应用程序可以监听blurunfocus事件,并停止计时器,然后在浏览器选项卡/窗口focus 上重新启动

  1. 是否有方法检测浏览器窗口当前是否处于非活动状态
  2. 检查窗口是否有焦点
  3. 检测浏览器选项卡是否有焦点

最新更新