MediaWiki討論:Gadget-umami.js

来自WikiFur
跳转至: 导航搜索

建议更改[编辑]

为了防止这个JS被ADBLOCK等反广告过滤器屏蔽,可以更改为以下版本提示一下用户把该网站加入过滤器白名单--xiaohuangbo给我留言 2025年12月1日 (一) 22:21 (HKT)

( function () { // 检测广告拦截器 function detectAdBlocker() { return new Promise((resolve) => { // 创建诱饵元素(使用广告拦截器常见的过滤规则) const bait = document.createElement('div'); bait.className = 'ad-banner advertisement ad-container pub_300x250'; bait.style.cssText = 'position:absolute;top:-9999px;left:-9999px;width:1px;height:1px;'; document.body.appendChild(bait); // 检查是否被拦截 setTimeout(() => { const isBlocked = !document.body.contains(bait) || bait.offsetParent === null || bait.offsetHeight === 0 || window.getComputedStyle(bait).display === 'none'; // 清理诱饵元素 if (document.body.contains(bait)) { document.body.removeChild(bait); } resolve(isBlocked); }, 100); }); } // 显示提示信息 function showAdBlockWarning() { // 使用sessionStorage避免同一会话重复显示 if (sessionStorage.getItem('wf-adblock-warning')) { return; } sessionStorage.setItem('wf-adblock-warning', 'true'); const div = document.createElement('div'); div.id = 'wf-adblock-notice'; div.style.cssText = ` position: fixed; top: 20px; left: 50%; transform: translateX(-50%); background: #fff3cd; border: 2px solid #ffc107; border-radius: 8px; padding: 20px; z-index: 999999; max-width: 500px; box-shadow: 0 4px 12px rgba(0,0,0,0.15); font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, sans-serif; color: #333; animation: slideDown 0.3s ease-out; `; // 添加动画样式 const style = document.createElement('style'); style.textContent = ` @keyframes slideDown { from { transform: translateX(-50%) translateY(-100%); opacity: 0; } to { transform: translateX(-50%) translateY(0); opacity: 1; } } `; document.head.appendChild(style); div.innerHTML = ` <div style="display: flex; align-items: flex-start; gap: 15px;"> <div style="font-size: 24px;">⚠️</div> <div style="flex: 1;"> <strong style="font-size: 16px; display: block; margin-bottom: 8px;"> 检测到你使用了反广告扩展 </strong> <p style="margin: 0; line-height: 1.5; font-size: 14px;"> Wikifur没有任何侵入性广告,请将wikifur加入过滤器白名单,谢谢! </p> </div> <button onclick="this.closest('#wf-adblock-notice').remove()" style="background: none; border: none; font-size: 24px; cursor: pointer; padding: 0; color: #999;"> × </button> </div> `; document.body.appendChild(div); // 8秒后自动关闭 setTimeout(() => { if (div.parentNode) { div.remove(); } }, 8000); } // 执行检测 detectAdBlocker().then(isBlocked => { if (isBlocked) { showAdBlockWarning(); } }); //原始统计代码保持不变 const s = document.createElement('script'); s.defer = true; s.src = 'https://cloud.umami.is/script.js'; s.setAttribute('data-website-id', '02620a2a-1203-45b3-9829-63ae8dddc1e3'); document.head.appendChild(s); } )(); <code>