Files
web_hgtv_h5/app/static/js/pages/eightPop.js
T
2026-10-29 20:45:09 +07:00

64 lines
1.6 KiB
JavaScript

(function () {
var SESSION_KEY = "ageConfirmed";
var mask = document.getElementById("eightPop");
if (!mask) return;
function getSessionValue(key) {
try {
return window.sessionStorage.getItem(key) || "";
} catch (e) {
return "";
}
}
function setSessionValue(key, value) {
try {
window.sessionStorage.setItem(key, value);
} catch (e) {
// sessionStorage 不可用时,本页仍允许正常确认并关闭弹窗。
}
}
function openDialog() {
mask.hidden = false;
mask.removeAttribute("hidden");
mask.classList.add("is-open");
document.body.style.overflow = "hidden";
}
function closeDialog() {
mask.classList.remove("is-open");
mask.hidden = true;
mask.setAttribute("hidden", "");
document.body.style.overflow = "";
document.dispatchEvent(new CustomEvent("eightpop:closed"));
}
function confirmAge() {
setSessionValue(SESSION_KEY, "1");
closeDialog();
}
function exitSite() {
try {
window.location.replace("about:blank");
} catch (e) {
window.location.href = "about:blank";
}
}
// 确认按钮和右下角关闭按钮(X)都视为确认年龄并进入网站。
var confirmBtns = mask.querySelectorAll("[data-eight-pop-confirm]");
var exitBtns = mask.querySelectorAll("[data-eight-pop-exit]");
confirmBtns.forEach(function (button) {
button.addEventListener("click", confirmAge);
});
exitBtns.forEach(function (button) {
button.addEventListener("click", exitSite);
});
if (getSessionValue(SESSION_KEY) !== "1") {
openDialog();
}
})();