(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();
}
})();
Jump To Meet Johnna Colbry, Duff Goldman Wife! Her Age, Height, Net Worth, Daughter, Children, Instagram, Job, Hometown, Parents, Birthday!...
Jump To Who Is Caleb Sima? Meet Kathy Fang Husband! His Bio, Age, Net Worth, Age, Hometown, Birthday, Job, Career, Wedding, Kids!...
Jump To Caroline Polachek Parents: James Polachek And Elizabeth Allan! Age, Job, Ethnicity, Residence, Kids, Cause Of Death, Still Alive?...
Jump To Meet Tim Ballard Parents: Mother Melanie Ballard And Father Dennis Ballard! Age, Job, Facebook, Kids, Still Married?...
Jump To Get To Know Summer House: Martha's Vineyard Alex Tyree! Her Net Worth, Age, Dating, Birthday, Height, Family, John Legend!...
Jump To Get To Know Ron Ross Age, Wife, New Job After Sirius XM, Height, Parents, Instagram, Birthday, Hometown, Married Life, What Happened?...
Jump To Selling The Hamptons: Meet Bianca D'Alessio! Bio, Net Worth, Husband, Age, Height, Family, Birthday, Hometown, Boyfriend!...
Jump To Who Is Simon Miall, Chris Hessney Husband? His Bio, Age, Job, Instagram, Hometown, Facebook, Wedding, Engaged, Height, Family!...
Jump To Actress Shonka Dukureh Family: Husband, Kids, Parents! Plus, Her Cause Of Death, Birthplace, Instagram, Net Worth, Career!...
Jump To Get To Know QVC Carolyn Gracie Husband Mike! His Age, Job, Last Name, Instagram, Birthday, Facebook, Hometown, Who Is He?...