(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();
}
})();
PHILADELPHIA (CelebrityAccess) — The newly revamped Wells Fargo Center, along with their sports tenants, The Philadelphia Flyers, and the Philadelphia Wings, announced the launch of a new partnership with Ticketmaster that will see the prominent ticketing company become the venue’s official ticket platform.
The multi-year deal will allow fans to buy, manage and resell their tickets to Flyers, Wings games as well as concert and event tickets in one secure place. The platform will also offer fans personalized recommendations for upcoming concerts and events while providing customer support seven days a week, Ticketmaster said.
“We are thrilled to partner with Ticketmaster to bring our fans and guests the best ticket management experience unified across the top entertainment and sporting events coming to the New Wells Fargo Center,” said Todd Glickman, Chief Revenue Officer of Comcast Spectacor. “Flyers fans, Wings fans, and all those who enter Wells Fargo Center for one of our 200+ events will now enjoy a one-stop shop and best-in-class technology for their ticketing needs.”
👉 For more insights, check out this resource.
“Philadelphia stands out for its dedicated fans, dynamic teams and special venues, making it a city like no other,” said Marla Ostroff, Ticketmaster Managing Director of North America. “Working collaboratively with our new partner Comcast Spectacor, we’re committed to enhancing the experience for Flyers and Wings fans, as well as Wells Fargo Center visitors, through our innovative technologies and deep understanding of fan preferences and needs.”
👉 Discover more in this in-depth guide.