javascript - How can I measure how long an embedded Vimeo video has been watched for? -
i have vimeo video embedded on webpage , want record google analytics event when user has watched video 10 seconds. there way measure how long video has been watched for? reference player uses: player.js - /* vimeoplayer - v2.7.1 - 2015-06-26 */
the playprogessevent of vimeo api contain seconds property.
so can ask listen event, , check property being more 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;
Comments
Post a Comment