MediaWiki討論:Gadget-umami.js
建议更改[编辑]
为了防止这个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>