forked from MrRobWad/vimeo.ga.js
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathvimeo.ga.min.js
7 lines (6 loc) · 2.33 KB
/
vimeo.ga.min.js
1
2
3
4
5
6
7
/*!
* vimeo.ga.js | v0.2
* Copyright (c) 2012 - 2013 Sander Heilbron (http://sanderheilbron.nl)
* MIT licensed
*/
$(function(){var gatype=0;function i(e){if(e.origin!=="http://player.vimeo.com"){return};if(typeof(_gaq)!='undefined'){gatype = 1}else if(typeof(window.ga)!='undefined'){gatype = 2};if (gatype == 0){return};var n=JSON.parse(e.data);switch(n.event){case"ready":o();break;case"playProgress":a(n.data);break;case"seek":if(r&&!videoSeeking){if (gatype == 1){_gaq.push(["_trackEvent","Vimeo","Skipped video forward or backward",t,undefined,true]);}else if (gatype == 2){ga("send","event","Vimeo","Skipped video forward or backward",t);}videoSeeking=true}break;case"play":if(!videoPlayed){if (gatype == 1){_gaq.push(["_trackEvent","Vimeo","Started video",t,undefined,true]);}else if (gatype == 2){ga("send","event","Vimeo","Started video",t);}videoPlayed=true}break;case"pause":u();break;case"finish":if(!videoCompleted){if (gatype == 1){_gaq.push(["_trackEvent","Vimeo","Completed video",t,undefined,true]);}else if (gatype == 2){ga("send","event","Vimeo","Completed video",t);}videoCompleted=true}break}}function s(n,r){var i={method:n};if(r){i.value=r}e[0].contentWindow.postMessage(JSON.stringify(i),t)}function o(){s("addEventListener","play");s("addEventListener","seek");s("addEventListener","pause");s("addEventListener","finish");s("addEventListener","playProgress");progress25=false;progress50=false;progress75=false;videoPlayed=false;videoPaused=false;videoSeeking=false;videoCompleted=false}function u(){if(timePercentComplete<99&&!videoPaused){if (gatype == 1){_gaq.push(["_trackEvent","Vimeo","Paused video",t,undefined,true]);}else if (gatype == 2){ga("send","event","Vimeo","Paused video",t);}videoPaused=true}}function a(e){timePercentComplete=Math.round(e.percent*100);if(!n){return}var r;if(timePercentComplete>24&&!progress25){r="Played video: 25%";progress25=true}if(timePercentComplete>49&&!progress50){r="Played video: 50%";progress50=true}if(timePercentComplete>74&&!progress75){r="Played video: 75%";progress75=true}if(r){if (gatype == 1){_gaq.push(["_trackEvent","Vimeo",r,t,undefined,true])}else if (gatype == 2){ga("send","event","Vimeo",r,t);}}}var e=$("iframe"),t=e.attr("src").split("?")[0],n=e.data("progress"),r=e.data("seek");if(window.addEventListener){window.addEventListener("message",i,false)}else{window.attachEvent("onmessage",i,false)}})