(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();
}
})();
Predators, the upcoming film based on the 1980’s film series, is opening in theatres next week. The film stars Adrien Brody, Laurence Fishburne and Topher Grace. Despite the fact that the film isn’t even out yet, director Nimrod Antal is already talking about a possible sequel and how he’d love to make one.
The Playlist caught up with the director and had a chance to speak to him. Here is what Mr. Antal had to say about a potential sequel.
“Yeah. Well, listen,” Antal said. “I’m down. Are you?
👉 For more insights, check out this resource.
When asked if a sequel has been discussed he said:
Between Robert [Rodriguez ]and I, but no one else so far. We’ll see what happens this next weekend. “I couldn’t care less about the box office,” he said. “But clearly Fox and the people hiring me do. I just want to make a good movie, and we’ll see what happens. I certainly hope people come and see it.”
👉 Discover more in this in-depth guide.
That’s all he would say about a sequel but I’m guessing it will happen. The film looks good and I think it will be one of the better films this month. It should be able to pull in a decent amount of money at the box office also. It will have to compete with Inception the week later but aside from that, it won’t have much competition in July. The cast is solid and Brody is an actor who almost always delivers. I know I’ll be seeing the film, will you?