我看到很多关于如何检测 AdBlock/AdBlockPlus 的帖子,但没有关于 uBlock Origin 的帖子。
有办法检测这个广告拦截器吗?
我尝试获取一个被阻止的脚本(CoinHive)并尝试检查CoinHive(类)是否未定义。这似乎不起作用,因为它实际上并没有阻止脚本,而是阻止了 CoinHive Websocket 连接。
我只是检查一下您的广告是否已加载。最简单的方法是使用一个没有设置宽度的容器元素,然后只需检查它是否大于或等于小于您的广告的尺寸...
function uBlockActive(expected_width){
if ( $('.ad_container').width < expected_width) ) {
return false
}
return true;
}
编辑:
我还发现了这个:
$.ajax('showads.js')
.fail(function(d){
debugger //do some stuff here
});
uBlock filters
列表当前包含其他广告拦截器中没有的过滤器。
类名称
adholder2
的 HTML 元素在默认设置下被美观地隐藏。我使用这个解决方案建议我的访问者使用 uBlock origin,以防他们使用其他东西。
我检查过的大多数广告拦截器都有自己的列表和自己独特的规则。
它对我有用。
function uBlockActive(){
if ( window.adsbygoogle.push.length > 0) {
return false
}
return true;
}