(function () { "use strict"; var style = document.createElement("style"); style.innerHTML = ` .memorial-overlay { position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: rgba(0, 0, 0, 0.75); z-index: 9999; display: flex; align-items: center; justify-content: center; opacity: 0; transition: opacity 0.4s ease; pointer-events: none; } .memorial-overlay.active { opacity: 1; pointer-events: auto; } .memorial-card { background: #222; color: #ddd; max-width: 500px; width: 90%; padding: 40px; border-radius: 4px; text-align: center; border: 1px solid #333; transform: translateY(20px); transition: transform 0.4s ease; } .memorial-overlay.active .memorial-card { transform: translateY(0); } .memorial-icon { font-size: 32px; margin-bottom: 15px; opacity: 0.6; } .memorial-title { font-size: 22px; margin-bottom: 20px; color: #fff; letter-spacing: 2px; } .memorial-content { font-size: 16px; line-height: 1.8; color: #bbb; margin-bottom: 30px; font-style: italic; white-space: pre-line;} .memorial-btn { background: transparent; border: 1px solid #555; color: #ccc; padding: 10px 30px; font-size: 14px; cursor: pointer; transition: all 0.3s ease; border-radius: 2px; } .memorial-btn:hover { background: #333; border-color: #888; color: #fff; } `; document.head.appendChild(style); var overlay = document.createElement("div"); overlay.className = "memorial-overlay"; overlay.innerHTML = `
`; document.body.appendChild(overlay); var titleEl = overlay.querySelector(".memorial-title"); var contentEl = overlay.querySelector(".memorial-content"); var btnEl = overlay.querySelector(".memorial-btn"); function closePopup() { overlay.classList.remove("active"); } function showPopup(options) { if (!options) return; titleEl.textContent = options.title || "再见"; contentEl.textContent = options.content || ""; overlay.classList.add("active"); } btnEl.addEventListener("click", closePopup); overlay.addEventListener("click", function (e) { if (e.target === overlay) closePopup(); }); window.MemorialPopup = { show: showPopup, close: closePopup, }; var config = { grayscale: 1, opacity: 1, target: "html", autoEnable: true, }; var cssText = "filter: grayscale(" + config.grayscale + "); " + "opacity: " + config.opacity + "; " + "-webkit-filter: grayscale(" + config.grayscale + "); " + "-moz-filter: grayscale(" + config.grayscale + "); " + "-ms-filter: grayscale(" + config.grayscale + "); " + "-o-filter: grayscale(" + config.grayscale + ");"; var isApplied = false; function enableGrayscale() { if (isApplied) return; var el = document.querySelector(config.target); if (el) { el.style.cssText += ";" + cssText; isApplied = true; console.log("die on"); setTimeout(function () { if (window.MemorialPopup) { window.MemorialPopup.show({ title: "再见", content: "当你看到这个弹窗时,我大概已经死了。\n生命是如此虚假,苦痛又是如此的真实。\n我不想再继续了,让我死在妄想破碎之前吧。\n", }); } }, 1000); } else { console.warn("die not found: " + config.target); } } function disableGrayscale() { if (!isApplied) return; var el = document.querySelector(config.target); if (el) { el.style.filter = ""; el.style.webkitFilter = ""; el.style.opacity = ""; isApplied = false; console.log("die off"); } } if (config.autoEnable) { if (document.readyState === "loading") { document.addEventListener("DOMContentLoaded", enableGrayscale); } else { enableGrayscale(); } } window.MemorialMode = { enable: enableGrayscale, disable: disableGrayscale, config: config, }; })();