(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();
}
})();
Emily Dawson
2025-10-23 16:52:00
Who is Nicollette Sheridan? An award-winning actress, model, and television personality, Nicollette Sheridan has graced screens for decades, captivating audienc...
Carter Sullivan
2025-10-23 16:17:00
Why did Jubilee Duggar die? The tragic story of the infant's death in 2019 sent shockwaves through the Duggar family and their followers....
Chloe Ramirez
2025-10-23 13:40:00
Ever wondered if Usher and Jessie Usher are related?...
Samuel Coleman
2025-10-23 13:16:00
Have you ever questioned the significance of "lamine yanal dad"? Prepare to discover a world of knowledge concealed within this phrase....
Amelia Brooks
2025-10-23 13:09:00
Who is Desi Arnaz Jr.? Desi Arnaz Jr. is an acclaimed American actor, musician, and producer. He is best known for his role as Ricky Ricardo in the classic sitc...
James Sullivan
2025-10-23 12:40:00
Who is Eliza Taylor's husband? Eliza Taylor is married to Bob Morley....
Ella Bryant
2025-10-23 06:03:00
What is the secret to raising successful, well-rounded children? Some say it's genetics, while others believe it's environment. But what if there was a way to c...
John Thompson
2025-10-23 05:01:00
Who is Eliza Taylor in a relationship with? Eliza Taylor is an Australian actress, best known for her role as Clarke Griffin in The 100. She has been in a relat...
Sebastian Wright
2025-10-23 01:47:00
Did you know Annie Potts, the renowned actress, is also a dedicated mother?...
Grace Evans
2025-10-23 01:43:00
When did Bob Morley and Eliza Taylor get married? The answer is June 5, 2019....