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);
}