1function InitTrackedVideos() { 2 var videos = document.querySelectorAll("video"); 3 4 for (var i = 0; i < videos.length; i++) { 5 var video = videos[i]; 6 if (video.TrackerInited) 7 return; 8 9 video.TrackerInited = true; 10 var title = video.getAttribute("title"); 11 12 if (!title || title == "") 13 video.querySelector("source").src; 14 15 video.addEventListener("play", SendVideoEvent); 16 video.addEventListener("pause", SendVideoEvent); 17 video.addEventListener("stop", SendVideoEvent); 18 video.addEventListener("ended", SendVideoEvent); 19 } 20 21 var audios = document.querySelectorAll("audio"); 22 23 for (var i = 0; i < audios.length; i++) { 24 var audio = audios[i]; 25 if (audio.TrackerInited) 26 return; 27 28 audio.TrackerInited = true; 29 var title = audio.getAttribute("title"); 30 31 if (!title || title == "") 32 audio.querySelector("source").src; 33 34 audio.addEventListener("play", SendAudioEvent); 35 audio.addEventListener("pause", SendAudioEvent); 36 audio.addEventListener("stop", SendAudioEvent); 37 audio.addEventListener("ended", SendAudioEvent); 38 } 39} 40 41function SendVideoEvent(event) { 42 var _title = event.target.title; 43 var uri = event.target.querySelector("source").src; 44 if (!_title) 45 _title = uri; 46 47 gtag( 48 'event', 49 'video_' + event.type, 50 { 51 'event_action': event.type, 52 'event_category': 'Video', 53 'event_label': uri, 54 'title': _title, 55 'im_page_location': GAGetPathAndQuery(window.location.href), 56 'im_event_name': 'video_' + event.type 57 } 58 ); 59 60} 61 62function SendAudioEvent(event) { 63 var _title = event.target.title; 64 var uri = event.target.querySelector("source").src; 65 if (!_title) 66 _title = uri; 67 68 gtag( 69 'event', 70 'audio_' + event.type, 71 { 72 'event_action': event.type, 73 'event_category': 'Audio', 74 'event_label': uri, 75 'title': _title, 76 'im_page_location': GAGetPathAndQuery(window.location.href), 77 'im_event_name': 'audio_' + event.type 78 } 79 ); 80 81} 82 83function Init() { 84 if (window.jQuery) { 85 jQuery(document).ready(function () { 86 InitTrackedVideos(); 87 }); 88 return; 89 } 90 91 if (!document.body) { 92 setTimeout(Init, 100); 93 return; 94 } 95 96 var eventType = (window.addEventListener ? "" : "on") + "DOMContentLoaded"; 97 var eventName = window.addEventListener ? "addEventListener" : "attachEvent"; 98 document.body[eventName](eventType, InitTrackedVideos, false); 99} 100if ((window.GA_MEASUREMENT_ID || "") != "") 101 Init();
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.