我的网页上嵌入了Vimeo视频,我想在用户观看视频10秒后录制Google Analytics事件。有没有办法衡量视频的观看时间? 作为参考,玩家使用: player.js - / * VimeoPlayer - v2.7.1 - 2015-06-26 * /
答案 0 :(得分:1)
vimeo API的playProgess
事件确实包含seconds
属性。
所以你可以要求听这个事件,检查这个属性是否超过10个。
function postMsg(id){
var msg = {method:"addEventListener", value: 'playProgress'};
var iframe = document.getElementById(id), cW;
if(iframe) cW = iframe.contentWindow;
if(!cW){setTimeout(function(){postMsg(id)}, 200); return;}
cW.postMessage(JSON.stringify(msg), '*');
}
var messageListener = function(e){
if (!(/^https?:\/\/player.vimeo.com/).test(e.origin))
return false;
var evt = JSON.parse(e.data);
if(evt.event==='ready') postMsg(evt.player_id);
if(evt.event==='playProgress') onPlayProgress(evt.data);
}
function onPlayProgress(data) {
if(data.seconds > 10) doSomething();
}
window.addEventListener('message', messageListener, false);
iframe.src="http://player.vimeo.com/video/theVideoId?api=1&player_id="+iframe.id;
答案 1 :(得分:0)
<video>
个元素emit events。如果您的播放器使用<video>
,您可以为timeupdate
个事件添加事件监听器,或者监听play
/ pause
个事件并自行处理时间。