是否可以衡量“视频”标签的观看时间?我看到它有'onplaying'和'onpause'事件,所以我可能会伪造一个计时器。
只是想知道是否还有其他东西丢失了。
答案 0 :(得分:1)
HTML5媒体元素触发'timeupdate'事件。见http://dev.w3.org/html5/spec/media-elements.html#event-mediacontroller-timeupdate。当该事件触发时,您可以检查当前时间的.currentTime和视频长度的.duration。它还会触发'durationchange'事件。
完整的HTML5媒体DOM接口规范:http://dev.w3.org/html5/spec/media-elements.html
答案 1 :(得分:0)
videoElement.currentTime
来源:https://developer.mozilla.org/en-US/docs/DOM/HTMLMediaElement
答案 2 :(得分:0)
我试图在我正在进行的项目中完成同样的事情。 我是用jquery stopwatch plugin做的。
这是你需要的JS:
var w = new Stopwatch();
document.querySelector("#video").addEventListener("playing", Start, false);
document.querySelector("#video").addEventListener("pause", Stop, false);
document.querySelector("#video").addEventListener("waiting", Stop, false);
function Start() {
if ($("#video").get(0).paused == true)
Stop();
else
w.start();
}
function Stop() {
w.stop();
}
这就是你获得经过的观看时间(以毫秒为单位)的方式:
var e = w.getElapsed();
time = (((e.hours * 3600) + (e.minutes * 60) + e.seconds) * 1000 + e.milliseconds); // Total view time
请记住 - 这不是最准确的方法,但这是我用我的编码技巧完成的最好的方法。
祝你好运!