<ins class='dcmads' style='display:inline-block;width:728px;height:90px;'
data-dcm-placement='N4492.2402704COGNITIVCORP./B31082225.384735191'
data-dcm-rendering-mode='script'
data-dcm-https-only
data-dcm-api-frameworks='[APIFRAMEWORKS]'
data-dcm-omid-partner='[OMIDPARTNER]'
data-dcm-ltd='false'
data-dcm-resettable-device-id=''
data-dcm-app-id=''>
<script src='https://www.googletagservices.com/dcm/dcmads.js'></script>
<script>
window.document.name = 'ad-iframe'
window.parent.getIframe = function (name) {
const iframes = this.document.getElementsByTagName('iframe');
for (let i = 0; i < iframes.length; i++) {
if (iframes[i].name == name) return iframes[i];
}
}
function createTrackedListItemElement(event_name) {
const {
document
} = window.parent;
const container = document.getElementById('event_logs_container');
const li = document.createElement('li');
li.innerText += `${event_name}: ${new Date().toISOString()}`;
container.prepend(li);
}
function clickEventHandlers(event_name, event) {
const target_tag = event.target.nodeName.toLowerCase();
switch (target_tag) {
case 'button':
{
return createTrackedListItemElement(event_name);
}
default:
{
return createTrackedListItemElement(event_name);
}
}
}
function addListenerToSelectedEvent(event_name) {
switch (event_name) {
case 'click':
case 'dblclick':
case 'contextmenu':
{
return 'clickEventHandlers';
}
default:
return 'createTrackedListItemElement';
}
}
;(function hoverMacros() {
let adInViewTime = 0;
let lastViewStartTime = new Date().getTime();
window.document.addEventListener('mouseenter', () => {
lastViewStartTime = new Date().getTime();
trackEvent(true);
});
window.document.addEventListener('mouseleave', () => {
adInViewTime += new Date().getTime() - lastViewStartTime;
trackEvent(false);
});
// TODO: Should be backend integration
function trackEvent(is_hovered) {
const {
document
} = window.parent;
const container = document.getElementById('event_logs_container');
const li = document.createElement('li');
const time_spent = Math.round(adInViewTime / 1000);
li.innerText = is_hovered ? "user's cursor is on the banner" : `user's cursor left the banner. Total time spent ${time_spent} sec`;
container.prepend(li);
}
// TODO: sendBeacon
})();;(function viewportMacros() {
let adInViewTime = 0;
let lastViewStartTime = new Date().getTime();
const observer = new IntersectionObserver(onIntersection, {
root: null,
threshold: 0.5
});
function onIntersection(entries) {
entries.forEach(entry => {
if (entry.isIntersecting) {
lastViewStartTime = new Date().getTime();
} else {
adInViewTime += new Date().getTime() - lastViewStartTime;
}
trackEvent(entry.isIntersecting);
});
}
console.log({
body: window.parent.getIframe(window.name).querySelector('documents'),
width: window.parent.getIframe(window.name).width,
height: window.parent.getIframe(window.name).height
});
observer.observe(window.parent.getIframe(window.name));
// TODO: Should be backend integration
function trackEvent(is_intersecting) {
const {
document
} = window.parent;
const container = document.getElementById('event_logs_container');
const li = document.createElement('li');
const time_spent = Math.round(adInViewTime / 1000);
li.innerText = is_intersecting ? 'banner is visible on the page' : `banner was hidden. Total time visible ${time_spent} sec`;
container.prepend(li);
}
// TODO: sendBeacon
})();
;(function hoverMacros() {
let adInViewTime = 0;
let lastViewStartTime = new Date().getTime();
window.document.addEventListener('mouseenter', () => {
lastViewStartTime = new Date().getTime();
trackEvent(true);
});
window.document.addEventListener('mouseleave', () => {
adInViewTime += new Date().getTime() - lastViewStartTime;
trackEvent(false);
});
// TODO: Should be backend integration
function trackEvent(is_hovered) {
const {
document
} = window.parent;
const container = document.getElementById('event_logs_container');
const li = document.createElement('li');
const time_spent = Math.round(adInViewTime / 1000);
li.innerText = is_hovered ? "user's cursor is on the banner" : `user's cursor left the banner. Total time spent ${time_spent} sec`;
container.prepend(li);
}
// TODO: sendBeacon
})();;(function viewportMacros() {
let adInViewTime = 0;
let lastViewStartTime = new Date().getTime();
const observer = new IntersectionObserver(onIntersection, {
root: null,
threshold: 0.5
});
function onIntersection(entries) {
entries.forEach(entry => {
if (entry.isIntersecting) {
lastViewStartTime = new Date().getTime();
} else {
adInViewTime += new Date().getTime() - lastViewStartTime;
}
trackEvent(entry.isIntersecting);
});
}
console.log({
body: window.parent.getIframe(window.name).querySelector('documents'),
width: window.parent.getIframe(window.name).width,
height: window.parent.getIframe(window.name).height
});
observer.observe(window.parent.getIframe(window.name));
// TODO: Should be backend integration
function trackEvent(is_intersecting) {
const {
document
} = window.parent;
const container = document.getElementById('event_logs_container');
const li = document.createElement('li');
const time_spent = Math.round(adInViewTime / 1000);
li.innerText = is_intersecting ? 'banner is visible on the page' : `banner was hidden. Total time visible ${time_spent} sec`;
container.prepend(li);
}
// TODO: sendBeacon
})();
</script>
</ins>
15
8
222KB
530KB
359.0ms
508.0ms
521.0ms