(function () {
// 1) Basic bot filter (extend if you like)
function isBot() {
return /(bot|crawl|spider|google|bing|slurp|yandex|facebook|linkedin|pinterest|preview|whatsapp|discord|telegram|headless|puppeteer)/i
.test(navigator.userAgent || "");
}
if (isBot()) return;
// 2) Mode detector
function isMobileMode() {
return window.matchMedia("(max-width: 767px)").matches ||
/Mobi|Android|iPhone|iPad|iPod/i.test(navigator.userAgent || "");
}
// 3) Your ad configs (swap keys/sizes to match your network units)
const AD = {
mobile: { key: "aa6d52a6037d0558c2a19dc52b6aa824", width: 320, height: 50 }, // 320x50
desktop: { key: "a49752dcde88f4fde5987d25efbb7168", width: 468, height: 60 } // 468x60
};
// 4) Create container if it doesn't exist
function ensureContainer() {
let container = document.getElementById("ad-container");
if (!container) {
container = document.createElement("div");
container.id = "ad-container";
container.style.display = "none";
document.body.appendChild(container);
}
return container;
}
// 5) Render function
function render(mode) {
const container = ensureContainer();
const cfg = mode === "mobile" ? AD.mobile : AD.desktop;
// Set global atOptions for ad network
window.atOptions = {
key: cfg.key,
format: "iframe",
height: cfg.height,
width: cfg.width,
params: {}
};
// Clear previous ad/script then inject
container.innerHTML = "";
container.style.display = "block";
const s = document.createElement("script");
s.src = `//selfportraitproved.com/${cfg.key}/invoke.js`;
s.async = true;
container.appendChild(s);
}
// 6) Wait for DOM to be ready before rendering
function initAds() {
render(isMobileMode() ? "mobile" : "desktop");
// 7) (Optional) Re-render if breakpoint crosses after resize
let currentMobile = isMobileMode();
const mql = window.matchMedia("(max-width: 767px)");
if (mql.addEventListener) {
mql.addEventListener("change", (e) => {
const nowMobile = e.matches;
if (nowMobile !== currentMobile) {
currentMobile = nowMobile;
render(currentMobile ? "mobile" : "desktop");
}
});
} else if (mql.addListener) { // older browsers
mql.addListener((e) => {
const nowMobile = e.matches;
if (nowMobile !== currentMobile) {
currentMobile = nowMobile;
render(currentMobile ? "mobile" : "desktop");
}
});
}
}
// 8) Execute when DOM is ready
if (document.readyState === "loading") {
document.addEventListener("DOMContentLoaded", initAds);
} else {
initAds();
}
})();
Kaci Walfall Bio, wiki, Age, Career, Height, Weight, Family. Also find Kaci Walfall current Net worth as well as earnings, Salary, Property, and Income....
Rohanpreet Singh is a singer, model, television personality. Find out Rohanpreet Singh's Wiki, Age, Height, Wife, and Net Worth in 2023....
Mark Consuelos is well-known not just for his performances in soap operas and television. He has made important contributions to the entertainment sector. Mark Consuelos is 52 years old as of 2023....
Jennifer Pfautch is an American publicist and producer. Find out Jennifer Pfautch's Wiki, Age, Height, Husband, and Net Worth in 2023....
Chariah Gordon is a well-known American fashion model, vocalist, social media personality, businessman, content producer, media face, actor, and arti......
Alma Wahlberg is a former reality television star. Find out Alma Wahlberg's Wiki, Age, Height, Husband, and Net Worth in 2023....
Sommerset is a renowned Twitch streamer and YouTuber best known for her Fortnite broadcasts. Sommerset has lately found himself at the focus of online controversies as a result of a purported leaked video involving OnlyFans....
Daniel Ricciardo is a racing driver. Find out Daniel Ricciardo's Wiki, Age, Height, Girlfriend, and Net Worth in 2023....
Simone Inzaghi is a former player and professional football manager from Italy. He is now the head coach of Serie A team Inter Milan. Simone Inzaghi, a native of Piacenza, Emilia-Romagna, is said to be of Southern European heritage....
Gina Torres is an American film and television actress. Find out Gina Torres's Wiki, Age, Height, Husband, and Net Worth in 2023....