我希望能够检测到,如果用户正在使用广告拦截软件时,他们访问我的网站。如果他们正在使用它,我想显示一条消息,要求他们关闭它以支持项目,就像this website一样。
如果您进入该站点,并且您的浏览器启用了某种类型的adblock软件,那么该站点将显示一个小横幅,告诉用户广告收入用于托管项目,他们应该考虑关闭Adblock。
我想在我的网站上这样做,我在上面使用adsense广告,我该怎么做呢?
发布于 2011-02-02 07:28:46
不是直接回答,但我会把信息放在广告后面加载...而不是试图检测它,它只会在广告没有出现的时候出现。
发布于 2016-08-16 05:37:20
async function detectAdBlock() {
let adBlockEnabled = false
const googleAdUrl = 'https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js'
try {
await fetch(new Request(googleAdUrl)).catch(_ => adBlockEnabled = true)
} catch (e) {
adBlockEnabled = true
} finally {
console.log(`AdBlock Enabled: ${adBlockEnabled}`)
}
}
detectAdBlock()
发布于 2011-02-03 07:08:27
要检测用户是否拦截了广告,您需要做的就是在ad javascript中找到一个函数并尝试对其进行测试。他们用什么方法屏蔽广告并不重要。这是Google Adsense广告的样子:
if(!window.hasOwnProperty('google_render_ad') || window.google_render_ad === undefined) {
//They're blocking ads, display your banner
}
此方法概述如下:http://www.metamorphosite.com/detect-web-popup-blocker-software-adblock-spam
https://stackoverflow.com/questions/4869154
复制相似问题