1function pushToDataLayer(dataLayerObject) { 2 if (Array.isArray(window.dataLayer)) { 3 window.dataLayer.push(dataLayerObject); 4 } else { 5 window.dataLayer = [dataLayerObject]; 6 } 7} 8 9function fDate(value) { 10 return parseInt(value, 10) <= 10 ? `0${value}` : value; 11} 12 13function fMonth(value) { 14 const ret = parseInt(value, 10) + 1; 15 16 return ret <= 10 ? `0${ret}` : ret; 17} 18 19function receiveMessage(event) { 20 if (event.origin !== window.location.origin && event.data.referer !== undefined) { 21 return; 22 } 23 if (event.data.action === undefined) { 24 return; 25 } 26 27 const date = event.data.created === 'undefined' ? new Date() : new Date(event.data.created); 28 const vPublishDate = [date.getFullYear(), fMonth(date.getMonth()), fDate(date.getDate())]; 29 30 pushToDataLayer({ 31 event: 'video-player', 32 eAction: event.data.action, 33 eCategory: event.data.isLive === 'true' ? 'en-vivo' : 'video', 34 eLabel: `${event.data.content_id}|${event.data.name}`, 35 vDuration: event.data.isLive === 'true' ? 0 : event.data.duration, 36 vPlayer: event.data.player, 37 vPublishDate: vPublishDate.join('-'), 38 }); 39} 40 41window.addEventListener('message', receiveMessage, false);
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.