我在this问题上看到可以通过诸如
之类的内容检测到AdBlockfunction blockAdblockUser() {
if ($('.myTestAd').filter(':visible').length == 0) {
// All are hidden, or "not visible", so:
// Redirect, show dialog, do something...
} else if ($('.myTestAd').filter(':hidden').length > 0) {
// Maybe a different error if only some are hidden?
// Redirect, show dialog, do something...
}
}
但是,有没有办法检测此人正在使用的AdBlock的类型?
答案 0 :(得分:2)
不可靠。广告拦截器的设计不易于检测和区分。此外,在客户端上运行的代码是fundamentally unsafe;高级用户可以并且如果困扰他们就会破坏它,或者如果开发广告拦截器的人认为它可能会被假设用来打扰某人。
您可以通过更改广告的名称(或使用阻止程序可能阻止或可能不阻止的虚假“广告”)来辨别用户阻止哪种模式列表,但这些信息会快速老化,因为大多数这些列表经常更新。出于兼容性原因,其中一些会将假广告列入白名单。