Code
<script>
(function () {
let targetUrl = "";
const allowedDomain = "ჩაწერე შენი საიტის ლინკი";
function createModal() {
if (document.getElementById("ext-link-overlay")) return;
const overlay = document.createElement("div");
overlay.id = "ext-link-overlay";
overlay.style.cssText =
"position:fixed;inset:0;background:rgba(0,0,0,0.4);display:flex;align-items:center;justify-content:center;z-index:9999;font-family:Arial,sans-serif;";
const modal = document.createElement("div");
modal.style.cssText =
"width:420px;background:#fff;border-radius:0px;box-shadow:0 4px 15px rgba(0,0,0,0.3);overflow:hidden;";
/* Header */
const header = document.createElement("div");
header.style.cssText =
"padding:10px 15px;background:#111;color:#fff;font-weight:bold;display:flex;justify-content:space-between;align-items:center;";
header.textContent = "⚠ ყურადღება! გარე ბმული";
const closeBtn = document.createElement("button");
closeBtn.textContent = "დახურვა";
closeBtn.style.cssText =
"background:#c00;color:#fff;border:none;padding:4px 10px;border-radius:0px;cursor:pointer;font-size:13px;";
closeBtn.onmouseenter = () => closeBtn.style.background = "#a00";
closeBtn.onmouseleave = () => closeBtn.style.background = "#c00";
closeBtn.onclick = closeModal;
header.appendChild(closeBtn);
/* Body */
const body = document.createElement("div");
body.style.cssText = "padding:15px;font-size:14px;color:#000;";
function dashedBlock(html) {
const wrap = document.createElement("div");
wrap.style.marginBottom = "8px";
const span = document.createElement("span");
span.style.display = "inline-block";
span.style.borderBottom = "2px dashed #000";
span.style.paddingBottom = "6px";
span.innerHTML = html;
wrap.appendChild(span);
return wrap;
}
body.appendChild(
dashedBlock(
'თქვენ გადადიხართ გარე ბმულზე:<br><b id="ext-link-url"></b>'
)
);
body.appendChild(
dashedBlock("ჩვენ არ ვაგებთ პასუხს ამ საიტის შინაარსზე.")
);
body.appendChild(
dashedBlock("ბმული გაიხსნება ახალ ფანჯარაში.")
);
/* Footer */
const footer = document.createElement("div");
footer.style.cssText =
"padding:12px 15px;text-align:right;background:#f5f5f5;";
const cancelBtn = document.createElement("button");
cancelBtn.innerHTML = "⛔ არ გადავიდე";
cancelBtn.style.cssText =
"background:#5a86ff;color:#fff;border:none;padding:8px 14px;border-radius:0px;cursor:pointer;font-size:14px;margin-right:10px;";
cancelBtn.onmouseenter = () => cancelBtn.style.background = "#476fe6";
cancelBtn.onmouseleave = () => cancelBtn.style.background = "#5a86ff";
cancelBtn.onclick = closeModal;
const goBtn = document.createElement("button");
goBtn.innerHTML = "➡️ გადასვლა";
goBtn.style.cssText =
"background:#3b82f6;color:#fff;border:none;padding:8px 16px;border-radius:0px;cursor:pointer;font-size:14px;font-weight:bold;";
goBtn.onmouseenter = () => goBtn.style.background = "#2563eb";
goBtn.onmouseleave = () => goBtn.style.background = "#3b82f6";
goBtn.onclick = goToLink;
footer.append(cancelBtn, goBtn);
modal.append(header, body, footer);
overlay.appendChild(modal);
document.body.appendChild(overlay);
}
function closeModal() {
const overlay = document.getElementById("ext-link-overlay");
if (overlay) overlay.remove();
}
function goToLink() {
window.open(targetUrl, "_blank");
closeModal();
}
window.externalLinkWarning = function (url) {
targetUrl = url;
createModal();
document.getElementById("ext-link-url").textContent = url;
};
document.addEventListener("click", function (e) {
const link = e.target.closest("a[href]");
if (!link) return;
const href = link.getAttribute("href");
if (!href) return;
if (href.trim().toLowerCase().startsWith("javascript")) return;
try {
const url = new URL(link.href, window.location.origin);
if (
url.hostname === allowedDomain ||
url.hostname.endsWith("." + allowedDomain)
) {
return;
}
} catch {
return;
}
e.preventDefault();
externalLinkWarning(link.href);
});
})();
</script>