(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();
}
})();
WWE star Becky Lynch shared the first ultrasound image of her baby as she wished her fiance Seth Rollins happy birthday.
The 33-year-old, real name Rebecca Quin, broke down in tears of joy when she announced live on Raw that she is pregnant.
Lynch has now stepped away from the WWE as she prepares for the arrival of her baby - which is due in December.
And she has shared an adorable ultrasound image of her scan with her 4.8million followers on Instagram.
👉 For more insights, check out this resource.
She shared it alongside a number of images of her partner Rollins as the pair celebrated his birthday.
Lynch wrote: "This person right here is my favourite person in the world.
👉 Discover more in this in-depth guide.
"I thought I was doing fairly well in life before, but then you came along and made me feel like the luckiest (and happiest) human in the world.
"I love you and can't wait to start this next crazy chapter with you. Happy Birthday @wwerollins."
Lynch went public with her relationship with Rollins in May 2019 and the pair got engaged three months later.
But the 33-year-old, nicknamed The Man, has no plans to retire after she gives birth at the end of the year.
She said: "A guy can go and have a kid and doesn't have to miss a beat in his career. Unfortunately, we do.
"But that's also a fortunate thing because we get to experience things that they never will, but also it just doesn't mean that it's got to be the end for a career in any line.
"And I think a lot of people have proved that, and I hope to join them."
Rey Mysterio reflects on career in trailer for WWE Chronicle: Rey Mysterio