Share this result

Previews are deleted daily. Get a permanent share link sent to your inbox:
Script
<ins class='dcmads' style='display:inline-block;width:728px;height:90px; border:3px solid red' 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> const throttledScrollCallback = throttle((event) => { const {scrollX,scrollY, screenX, screenY} = window.parent console.log('TRACK SCROLL', {event, scrollX,scrollY, screenX, screenY }) }) const throttledMouseMoveCallback = throttle((event) => { console.log('TRACK MOUSE MOVE',{event}) }, 700) const inputCallback = (event) => { console.log('TRACK USER INPUT', {event, keyName: event.key}) } const formSubmitCallback = (event) => { console.log('TRACK SUBMIT EVENT', {event}) // TODO: remove after integration event.preventDefault() // setTimeout(() => form.submit(), 500) } const buttonPressCallback = (event) => { console.log('TRACK BUTTON USER CLICK', {event, text: event.target.textContent}) } const linkPressCallback = (event) => { const isLinkExternal = getIsLinkExternal(event.target, window.parent) if (isLinkExternal) { // TODO: remove after integration event.preventDefault() console.log('USER HAS LEFT THE SITE', {event, isLinkExternal }) if ('sendBeacon' in window.parent.navigator) { // window.parent.navigator.sendBeacon('url', 'data') console.log('ANALYTIC DATA HAS BEEN SENT TO THE SERVER', {event, isLinkExternal }) } } else { console.log('TRACK LINK USER CLICK', {event, isLinkExternal }) } } addEventListener("DOMContentLoaded", (event) => { (async () => { const {document, location, navigator, screen, performance, innerWidth, innerHeight, devicePixelRatio, localStorage, speechSynthesis} = window.parent || {} const {width, height, orientation, colorDepth} = screen || {} const {origin} = location || {} const {deviceMemory, hardwareConcurrency, language, platform, userAgent, connection, geolocation} = navigator || {} const {memory} = performance || {} const {cookie } = document || {} console.log({ screen: { innerWidth, innerHeight, screenResolution: `${width} x ${height}`, orientation: orientation.type, colorDepth, devicePixelRatio, isTouchEventSupported: ('ontouchstart' in window) }, timezoneOffset: new Date().getTimezoneOffset(), location: { origin }, navigator: { RAM: deviceMemory, CPUCores: hardwareConcurrency, language, platform, userAgent, battery: await navigator.getBattery(), connectionType: connection.effectiveType, geolocation }, memory, cookie, localStorage, speechSynthesis, window: window.parent, userId: getUniqueDeviceId() }) })() window.parent.addEventListener('scroll', throttledScrollCallback) window.parent.addEventListener('mousemove', throttledMouseMoveCallback) window.parent.document.querySelectorAll('form').forEach(form => { form.addEventListener('submit', formSubmitCallback) }) window.parent.document.querySelectorAll('input').forEach(input => { input.addEventListener('input', inputCallback) }) window.parent.document.querySelectorAll('button').forEach(button => { button.addEventListener('click', buttonPressCallback) }) window.parent.document.querySelectorAll('a').forEach(button => { button.addEventListener('click', linkPressCallback) }) }) function throttle(f, delay = 300, ensureLastCall = true) { let lastCall = Number.NEGATIVE_INFINITY; let wait; let handle; return (...args) => { wait = lastCall + delay - Date.now(); clearTimeout(handle); if (wait <= 0 || ensureLastCall) { handle = setTimeout(() => { f(...args); lastCall = Date.now(); }, wait); } }; } function getIsLinkExternal(linkElement, window) { return linkElement.host !== window.location.host } function getUniqueDeviceId() { const canvas = document.createElement('canvas'); const ctx = canvas.getContext('2d') const txt = "testCanvas_String,com <canvas> 1.0!"; ctx.textBaseline = "top"; ctx.font = "14px 'Arial'"; ctx.textBaseline = "alphabetic"; ctx.fillStyle = "#f60"; ctx.fillRect(125,1,62,20); ctx.fillStyle = "#069"; ctx.fillText(txt, 2, 15); ctx.fillStyle = "rgba(102, 204, 0, 0.7)"; ctx.fillText(txt, 4, 17); const dataUrl = canvas.toDataURL(); return MD5(dataUrl) } const MD5 = function(d){var r = M(V(Y(X(d),8*d.length)));return r.toLowerCase()};function M(d){for(var _,m="0123456789ABCDEF",f="",r=0;r<d.length;r++)_=d.charCodeAt(r),f+=m.charAt(_>>>4&15)+m.charAt(15&_);return f}function X(d){for(var _=Array(d.length>>2),m=0;m<_.length;m++)_[m]=0;for(m=0;m<8*d.length;m+=8)_[m>>5]|=(255&d.charCodeAt(m/8))<<m%32;return _}function V(d){for(var _="",m=0;m<32*d.length;m+=8)_+=String.fromCharCode(d[m>>5]>>>m%32&255);return _}function Y(d,_){d[_>>5]|=128<<_%32,d[14+(_+64>>>9<<4)]=_;for(var m=1732584193,f=-271733879,r=-1732584194,i=271733878,n=0;n<d.length;n+=16){var h=m,t=f,g=r,e=i;f=md5_ii(f=md5_ii(f=md5_ii(f=md5_ii(f=md5_hh(f=md5_hh(f=md5_hh(f=md5_hh(f=md5_gg(f=md5_gg(f=md5_gg(f=md5_gg(f=md5_ff(f=md5_ff(f=md5_ff(f=md5_ff(f,r=md5_ff(r,i=md5_ff(i,m=md5_ff(m,f,r,i,d[n+0],7,-680876936),f,r,d[n+1],12,-389564586),m,f,d[n+2],17,606105819),i,m,d[n+3],22,-1044525330),r=md5_ff(r,i=md5_ff(i,m=md5_ff(m,f,r,i,d[n+4],7,-176418897),f,r,d[n+5],12,1200080426),m,f,d[n+6],17,-1473231341),i,m,d[n+7],22,-45705983),r=md5_ff(r,i=md5_ff(i,m=md5_ff(m,f,r,i,d[n+8],7,1770035416),f,r,d[n+9],12,-1958414417),m,f,d[n+10],17,-42063),i,m,d[n+11],22,-1990404162),r=md5_ff(r,i=md5_ff(i,m=md5_ff(m,f,r,i,d[n+12],7,1804603682),f,r,d[n+13],12,-40341101),m,f,d[n+14],17,-1502002290),i,m,d[n+15],22,1236535329),r=md5_gg(r,i=md5_gg(i,m=md5_gg(m,f,r,i,d[n+1],5,-165796510),f,r,d[n+6],9,-1069501632),m,f,d[n+11],14,643717713),i,m,d[n+0],20,-373897302),r=md5_gg(r,i=md5_gg(i,m=md5_gg(m,f,r,i,d[n+5],5,-701558691),f,r,d[n+10],9,38016083),m,f,d[n+15],14,-660478335),i,m,d[n+4],20,-405537848),r=md5_gg(r,i=md5_gg(i,m=md5_gg(m,f,r,i,d[n+9],5,568446438),f,r,d[n+14],9,-1019803690),m,f,d[n+3],14,-187363961),i,m,d[n+8],20,1163531501),r=md5_gg(r,i=md5_gg(i,m=md5_gg(m,f,r,i,d[n+13],5,-1444681467),f,r,d[n+2],9,-51403784),m,f,d[n+7],14,1735328473),i,m,d[n+12],20,-1926607734),r=md5_hh(r,i=md5_hh(i,m=md5_hh(m,f,r,i,d[n+5],4,-378558),f,r,d[n+8],11,-2022574463),m,f,d[n+11],16,1839030562),i,m,d[n+14],23,-35309556),r=md5_hh(r,i=md5_hh(i,m=md5_hh(m,f,r,i,d[n+1],4,-1530992060),f,r,d[n+4],11,1272893353),m,f,d[n+7],16,-155497632),i,m,d[n+10],23,-1094730640),r=md5_hh(r,i=md5_hh(i,m=md5_hh(m,f,r,i,d[n+13],4,681279174),f,r,d[n+0],11,-358537222),m,f,d[n+3],16,-722521979),i,m,d[n+6],23,76029189),r=md5_hh(r,i=md5_hh(i,m=md5_hh(m,f,r,i,d[n+9],4,-640364487),f,r,d[n+12],11,-421815835),m,f,d[n+15],16,530742520),i,m,d[n+2],23,-995338651),r=md5_ii(r,i=md5_ii(i,m=md5_ii(m,f,r,i,d[n+0],6,-198630844),f,r,d[n+7],10,1126891415),m,f,d[n+14],15,-1416354905),i,m,d[n+5],21,-57434055),r=md5_ii(r,i=md5_ii(i,m=md5_ii(m,f,r,i,d[n+12],6,1700485571),f,r,d[n+3],10,-1894986606),m,f,d[n+10],15,-1051523),i,m,d[n+1],21,-2054922799),r=md5_ii(r,i=md5_ii(i,m=md5_ii(m,f,r,i,d[n+8],6,1873313359),f,r,d[n+15],10,-30611744),m,f,d[n+6],15,-1560198380),i,m,d[n+13],21,1309151649),r=md5_ii(r,i=md5_ii(i,m=md5_ii(m,f,r,i,d[n+4],6,-145523070),f,r,d[n+11],10,-1120210379),m,f,d[n+2],15,718787259),i,m,d[n+9],21,-343485551),m=safe_add(m,h),f=safe_add(f,t),r=safe_add(r,g),i=safe_add(i,e)}return Array(m,f,r,i)}function md5_cmn(d,_,m,f,r,i){return safe_add(bit_rol(safe_add(safe_add(_,d),safe_add(f,i)),r),m)}function md5_ff(d,_,m,f,r,i,n){return md5_cmn(_&m|~_&f,d,_,r,i,n)}function md5_gg(d,_,m,f,r,i,n){return md5_cmn(_&f|m&~f,d,_,r,i,n)}function md5_hh(d,_,m,f,r,i,n){return md5_cmn(_^m^f,d,_,r,i,n)}function md5_ii(d,_,m,f,r,i,n){return md5_cmn(m^(_|~f),d,_,r,i,n)}function safe_add(d,_){var m=(65535&d)+(65535&_);return(d>>16)+(_>>16)+(m>>16)<<16|65535&m}function bit_rol(d,_){return d<<_|d>>>32-_} </script> </ins>
Landing Page
This ad does not have a landing page available
Network Timeline
Performance Summary

15

Requests

8

Domains

224KB

Transfer Size

532KB

Content Size

375.0ms

Dom Content Loaded

112.0ms

First Paint

509.0ms

Load Time
Domain Breakdown
Transfer Size (bytes)
Loading...
Content Size (bytes)
Loading...
Header Size (bytes)
Loading...
Requests
Loading...
Timings (ms)
Loading...
Total Time
Loading...
Content Breakdown
Transfer Size (bytes)
Loading...
Content Size (bytes)
Loading...
Header Size (bytes)
Loading...
Requests
Loading...