function addPixel(url) { return url ? "" : ""; } function iframeWrapper(html, container, isEmpty = true, width = 300, height = 250) { let iframe = document.createElement('iframe'); iframe.scrolling = "no"; iframe.style = "width: " + width + "px; height: " + height + "px; border: 0"; let block = document.querySelector(container); if (isEmpty) block.innerHTML = ''; block.appendChild(iframe); iframe.contentWindow.document.open(); iframe.contentWindow.document.write(html); iframe.contentWindow.document.close(); } function ext(filename) { var parts = filename.split('.'); return parts[parts.length - 1]; } async function vastObj(url, obj = {imp:[],trackStart:[],trackProgress:[],clickTracking:[],href:false,src:false}, subId = false) { try { var vastXML = await $.get(url); var adXML = $('Ad', vastXML).get(0) ? $('Ad', vastXML).get(0) : vastXML; } catch(err) { return obj; } let param = { imp: $('Impression', adXML).text() || false, trackStart: $('Tracking[event="start"]', adXML).text() || false, trackProgress: $('Tracking[event="progress"]', adXML).text() || false, href: $('ClickThrough', adXML).text() || $('NonLinearClickThrough', adXML).text() || false, src: $('MediaFile:first', adXML).text() || $('StaticResource', adXML).text() || false }; if ($('Impression', adXML).length > 1) { param.imp = false; $('Impression', adXML).each(function() { obj.imp.push($(this).text()); }); } if ($('Tracking[event="start"]', adXML).length > 1) { param.trackStart = false; $('Tracking[event="start"]', adXML).each(function() { obj.trackStart.push($(this).text()); }); } if ($('Tracking[event="progress"]', adXML).length > 1) { param.trackProgress = false; $('Tracking[event="progress"]', adXML).each(function() { obj.trackProgress.push($(this).text()); }); } if (param.href) obj.href = param.href; if (param.src) obj.src = param.src; if (param.imp) obj.imp.push(param.imp); if (param.trackStart) obj.trackStart.push(param.trackStart); if (param.trackProgress) obj.trackProgress.push(param.trackProgress); if ($('ClickTracking', adXML).length > 0) { $('ClickTracking', adXML).each(function() { obj.clickTracking.push($(this).text()); }); } let thirdPartyTag = $('VASTAdTagURI', adXML).text() || false; if (thirdPartyTag) { if (parseInt(subId)) { thirdPartyTag = thirdPartyTag.replace("{subId}", parseInt(subId)); } return vastObj(thirdPartyTag, obj); } return obj; } async function vastExec(url, p = {}, subId = false) { p = { container: p.container || "#vastTag", link: p.link || false, progressPercent: p.progressPercent || 33, imgSrc: p.imgSrc !== undefined ? p.imgSrc : "https://sex-girlsxxx.site/uploads/thumb/27a15c508a7a42e7632d14b584ae138e.jpg", isEmpty: p.isEmpty || true, width: p.width || 300, height: p.height || 250, isPixels: p.isPixels || false }; let v = await vastObj(url, {imp:[],trackStart:[],trackProgress:[],clickTracking:[],href:false,src:false}, subId); if (!v.href && !p.isPixels) {console.log("Tag FALSE: " + p.container);return;} //console.log("VAST OBJECT: ", v); let isProgress = Math.floor((Math.random() * 100) + 0) <= p.progressPercent ? true : false; let pixels = ""; v.imp.forEach((item)=>{pixels += addPixel(item);}); v.trackStart.forEach((item)=>{pixels += addPixel(item);}); if (isProgress) { v.trackProgress.forEach((item)=>{pixels += addPixel(item);}); } if (p.isEmpty) $(p.container).empty(); $(p.container).append(pixels); if (!v.href) {console.log("Tag FALSE with Pixels: " + p.container);return;} if (p.link && $(p.link).is("a")) { $(p.link).attr('href', v.href); $(p.link).attr('target', '_blank'); $(p.link).click(function() { v.clickTracking.forEach((item)=>{ $(p.container).append(addPixel(item));}); }); } else { let src = (p.imgSrc ? p.imgSrc : v.src); if (ext(src) == "mp4" || ext(src) == "m4v" || ext(src) == "mpg" || ext(src) == "avi" || ext(src) == "webm" || ext(src) == "ogg") { $(p.container).append(''); } else { $(p.container).append(''); } $("a", p.container).click(function() { v.clickTracking.forEach((item)=>{ $(p.container).append(addPixel(item));}); }); } } async function daoPushExec(url, p = {}, utm = {}) { p = { container: p.container || "#daoPushTagAd", link: p.link || false, imgSrc: p.imgSrc !== undefined ? p.imgSrc : "https://lcdn.tsyndicate.com/images/4/1/39fd3788e5d7968c01479ebc0df35787951e99.jpg", isEmpty: p.isEmpty || true, width: p.width || 300, height: p.height || 250, onClickContainer: p.onClickContainer || false, backfix: p.backfix || false, openerTimeout: p.openerTimeout || 0, }; utm = { utm_source: utm.utm_source || null, utm_medium: utm.utm_medium || null, utm_campaign: utm.utm_campaign || null, utm_term: utm.utm_term || null, utm_content: utm.utm_content || null, }; try { let userId = window.localStorage.getItem('d-ipp-uid'); var resp = await fetch(url, { method: 'POST', headers: { 'Content-Type': 'application/json; charset=UTF-8' }, credentials: "include", body: JSON.stringify({ page: window.location.href, tz: null, tzOffset: null, userId: userId, version: 2, marks: utm, addVars: {} }) }); var pp = await resp.json(); } catch(e) { console.log(e,resp); return false; } if (!pp.message || !pp.message.url) {console.log("DaoPushTag FALSE: " + p.container);return false;} let href = pp.message.url; let originSrc = pp.message.icon; let originImage = pp.message.image || false; if (p.isEmpty) $(p.container).empty(); if (!href) {console.log("PushTag FALSE with Pixels: " + p.container);return false;} if (originImage) { var i = new Image(1,1);i.src=originImage; } if (p.onClickContainer) { var i = new Image(1,1);i.src=originSrc; $(p.onClickContainer).click(()=>{ window.open(href); }); return true; } if (p.backfix) { var i = new Image(1,1);i.src=originSrc; var _bfl = href; !function(){var t;try{for(t=0;10>t;++t)history.pushState({},"","#");onpopstate=function(t){exit=true; setTimeout(()=>{t.state && location.replace((typeof(_bfl)=='string'&&_bfl!='')?_bfl:"#");}, 300); }}catch(o){}}(); return true; } if (pp.pixels && pp.pixels.length > 0) { pp.pixels.forEach(function(pixel) { try { fetch(pixel, { method: 'GET', mode: 'no-cors', credentials: 'include' }); } catch(e) { console.log(e); } }); } if (p.link && $(p.link).is("a")) { var i = new Image(1,1);i.src=originSrc; $(p.link).attr('href', href); $(p.link).attr('target', '_blank'); $(p.link).click(function() { }); } else { let src = (p.imgSrc ? p.imgSrc : originSrc); if (ext(src) == "mp4" || ext(src) == "m4v" || ext(src) == "mpg" || ext(src) == "avi" || ext(src) == "webm" || ext(src) == "ogg") { $(p.container).append(''); } else { $(p.container).append(''); } $("a", p.container).click(function() { }); } if (p.openerTimeout > 0) console.log("Timeout: " + p.openerTimeout); if (p.openerTimeout > 0 && window.opener) { if (p.openerTimeout < 10) { window.opener.location.href = href; } else { setTimeout(()=>{ window.opener.location.href = href; },p.openerTimeout); } } } function bcnUser() { var URL = new URLSearchParams(document.location.search); var logServerHref = (typeof GLogServer !== "undefined") ? GLogServer : false; var p = { 'type': "init", 'userId': (typeof GUserId !== "undefined") ? GUserId : false, 'ad': getCookieJS("ad") || URL.get("ad") || 0, 'site': getCookieJS("site") || URL.get("site") || "", 'country': (typeof GCountry !== "undefined") ? GCountry : "A1", 'startTime': (typeof GStartTime !== "undefined") ? GStartTime : "", 'visibleState': document.visibilityState !== "hidden" ? "1" : "", 'isOpener': !!window.opener ? "1" : "", 'isBot': (typeof GParams !== "undefined" && typeof GParams.isBot !== "undefined") ? GParams.isBot ? "1" : "" : "", 'isProxy': (typeof GParams !== "undefined" && typeof GParams.isProxy !== "undefined") ? GParams.isProxy ? "1" : "" : "", 'ctl': getCookieJS("ctl") ? "1" : "", 'multiUA': (typeof GParams !== "undefined" && typeof GParams.multiUA !== "undefined") ? GParams.multiUA ? "1" : "" : "", 'vCard': (typeof GParams !== "undefined" && typeof GParams.vCard !== "undefined") ? GParams.vCard ? "1" : "" : "1", 'webdriver': (typeof GParams !== "undefined" && typeof GParams.webdriver !== "undefined") ? GParams.webdriver ? "1" : "" : "", 'tooManyI': (typeof GParams !== "undefined" && typeof GParams.tooManyI !== "undefined") ? GParams.tooManyI ? "1" : "" : "", }; if (p.userId && p.startTime && logServerHref) { navigator.sendBeacon(logServerHref, Object.values(p).join("|")); return true; } return false; } function bcnEvent(type, subType = "", spotid = "", trace = "") { var URL = new URLSearchParams(document.location.search); var logServerHref = (typeof GLogServer !== "undefined") ? GLogServer : false; var startTime = (typeof GStartTime !== "undefined") ? GStartTime : false; var p = { 'type': type, 'userId': (typeof GUserId !== "undefined") ? GUserId : false, 'ad': getCookieJS("ad") || URL.get("ad") || 0, 'site': getCookieJS("site") || URL.get("site") || "", 'country': (typeof GCountry !== "undefined") ? GCountry : "A1", 'startTime': startTime, 'visibleState': document.visibilityState !== "hidden" ? "1" : "", 'diff': Math.round(performance.now() - startTime, 0), // ms 'subType': subType, 'spotId': spotid, 'trace': trace, }; if (p.userId && p.startTime && logServerHref) { navigator.sendBeacon(logServerHref, Object.values(p).join("|")); return true; } return false; } function bcnBounce() { function handleVisibilityChange() { var startTime = (typeof GStartTime !== "undefined") ? GStartTime : false; var diff = Math.round(performance.now() - startTime, 0); var timer = 1500 - diff > 500 ? 1500 - diff : 500; if (document.visibilityState === 'hidden') { bcnEvent("bounce"); console.log("bounce = true;"); setTimeout(() => { bcnEvent("noBounce"); console.log("noBounce = true;"); }, timer); } } window.addEventListener('visibilitychange', handleVisibilityChange); setTimeout(() => { window.removeEventListener('visibilitychange', handleVisibilityChange); }, 1600); } function bcnEnd() { function endHandler() { var startTime = (typeof GStartTime !== "undefined") ? GStartTime : false; if (startTime && document.visibilityState === 'hidden') { console.log("end"); bcnEvent("end"); setTimeout(() => { console.log("noEnd"); bcnEvent("noEnd"); }, 500); } } window.addEventListener('visibilitychange', endHandler); setTimeout(() => { window.removeEventListener('visibilitychange', endHandler); }, 14000); }