JS - 检测 uBlock 来源

问题描述 投票:0回答:3

我看到很多关于如何检测 AdBlock/AdBlockPlus 的帖子,但没有关于 uBlock Origin 的帖子。

有办法检测这个广告拦截器吗?

我尝试获取一个被阻止的脚本(CoinHive)并尝试检查CoinHive(类)是否未定义。这似乎不起作用,因为它实际上并没有阻止脚本,而是阻止了 CoinHive Websocket 连接。

javascript adblock
3个回答
7
投票

我只是检查一下您的广告是否已加载。最简单的方法是使用一个没有设置宽度的容器元素,然后只需检查它是否大于或等于小于您的广告的尺寸...

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
});

1
投票

uBlock filters
列表当前包含其他广告拦截器中没有的过滤器。

类名称

adholder2
的 HTML 元素在默认设置下被美观地隐藏。我使用这个解决方案建议我的访问者使用 uBlock origin,以防他们使用其他东西。

我检查过的大多数广告拦截器都有自己的列表和自己独特的规则。


0
投票

它对我有用。

function uBlockActive(){
  if ( window.adsbygoogle.push.length > 0) {
    return false
  }
  return true;
}
© www.soinside.com 2019 - 2024. All rights reserved.