(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();
}
})();
Etterlene DeBarge Obituary, Death - It is with heavy hearts and deep sorrow that we come together to remember and honor the life of Etterlene DeBarge, the beloved matriarch of the DeBarge family. As we...
Karen Crawford Missing - In a race against time, authorities and concerned citizens are mobilizing efforts to locate Karen Crawford, a 43-year-old woman who went missing in the vicinity of S State Street and I-215....
Kyle Clasby Obituary, Death - Kyle Preston Clasby, born on November 3, 1990, in Pueblo, Colorado, left this earthly realm on November 7, 2023, surrounded by the comfort of his Florence home. Kyle's educational journey...
Jim Paronto Obituary, Death - With profound sadness, we announce the passing of Jim Paronto, a dedicated individual who served as the Coordinator of Baseball Umpires for the Mountain West from 2003 to 2021. His...
John Griffis Obituary, Death - It is with heavy hearts that we share the news of the passing of John (Johnny) Richard Griffis, who peacefully departed from this world at his home in Fort Collins,...
Hillary Henley Obituary, Death - Hillary Arlene Henley, 31, of Kiln, Mississippi, died on December 5, 2023, to join God's army of angels. Hillary was a gifted chef and artist. She spread joy and sunshine...
Donnie Smith Obituary, Death - Donald “Donny” John Smith, 52, a beloved man, died abruptly on September 3, 2023. He captivated thousands with his charisma. His loving wife Megan, his two amazing kids Sadie and...
Jeff Whipple Obituary, Death - Jeffrey James Whipple, the son of James and Susan Whipple, passed away on October 28, 2023 in the city of San Jose, located in the state of California. He was 56...
Melvin Moore Obituary, Death - Melvin Moore, a beloved DJ and producer hailing from Brooklyn, New York, has passed away, leaving a void in the music industry. He departed this world on at the age...
Patricia Boyle Obituary, Death - It is with deep sorrow and heavy hearts that we announce the passing of Patricia Boyle, a beloved resident of Malvern, Pennsylvania. Patricia, known for her warmth, compassion, and vibrant...