我们有一些自定义的广告位置,可以在整个网站上显示给Next.js项目。这些广告可以是谷歌广告,也可以是本地广告商的定制广告。现在,我们需要检测是否有广告拦截器阻止这些广告正常显示,并显示一个警告,如果任何广告拦截器在浏览器上是活跃的。我们已经尝试了一些NPM软件包,但它们中的任何一个都不能按预期工作。
ndh0cuux1#
您可以检查元素是否被隐藏。例如,这将是一个典型的诱饵:
<div id="ad-banner"> <img src="https://example.com/ad.jpg" /> </div>
当然,您也应该能够使用现有的广告位置。但是添加一个特定的元素是有意义的,它尖叫着“广告”以便检查。然后,你可以检查元素是否被隐藏:
useEffect(() => { const ad = document.getElementById('ad-banner'); const isAdBlockActive = ad && ad.offsetHeight === 0; if (isAdBlockActive) { console.log('We have an AdBlocker!!'); } }, []);
希望这能帮上忙。
1条答案
按热度按时间ndh0cuux1#
您可以检查元素是否被隐藏。
例如,这将是一个典型的诱饵:
当然,您也应该能够使用现有的广告位置。但是添加一个特定的元素是有意义的,它尖叫着“广告”以便检查。
然后,你可以检查元素是否被隐藏:
希望这能帮上忙。