2015-07-08 1 views
1

У меня есть видео Vimeo, встроенное на мою веб-страницу, и я хочу записать событие Google Analytics, когда пользователь просматривал видео в течение 10 секунд. Есть ли способ измерить, как долго просматривается видео? Для справки игрок использует: player.js -/* VimeoPlayer - v2.7.1 - 2015-06-26 */Как я могу измерить, как долго просматривалось встроенное видео Vimeo?

ответ

0

<video> элементы emit events. Если ваш игрок использует <video>, вы можете добавить прослушиватели событий для событий timeupdate или прослушать play/pause событиями и сами провести отсчет времени.

+0

Vimeo игрок использует IFRAME, так что вы должны отправить их пользовательские сообщения – Kaiido

1

Событие API vimeo содержит 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&amp;player_id="+iframe.id; 

jsfiddle

+0

Просто чтобы сделать его более сложным, что, если видео находится внутри модального, что означает, что он не добавляется в DOM до тех пор, пока модаль не будет заложен кликом? – guru

+0

Я думаю, вам нужно подождать, пока кадр не загрузится, прежде чем сможет получить доступ к его контенту contentWindow и, следовательно, поговорить с API vimeo – Kaiido

 Смежные вопросы

  • Нет связанных вопросов^_^