【发布时间】:2014-07-26 14:46:51
【问题描述】:
我想在 adsense 广告上方添加一条小消息,表示它是广告,并感谢用户没有使用 adblock。显然,如果用户确实使用了 adblock,我希望将其隐藏。
我记得几年前我只是使用<div class="advert"> 包装广告并将文本放入其中。似乎 adblock 不再以这种方式阻止元素,因为广告被阻止但文本仍然存在。
<div class="advert">
Thank you for not using adblock!
<script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
<ins class="adsbygoogle" style="display:inline-block;width:728px;height:90px"></ins>
<script>
(adsbygoogle = window.adsbygoogle || []).push({});
</script>
Advertisements directly support the hosting of this site
</div>
我可以创建一个脚本来检测 adblock 并用它隐藏文本,但如果可能的话,我宁愿让 adblock 脚本进行隐藏。我主要想知道这是否可能。有没有什么地方可以包含文本,以便将其视为广告的一部分并因此被屏蔽?
【问题讨论】:
-
@estshy 问题是我希望隐藏“广告”div,但事实并非如此。
-
我想 adblock 只是阻止脚本的加载。您也许可以通过 ajax 加载该脚本并检测是否有错误。不过,现在无法测试该理论。
-
@Sumurai8 这可能行得通。标记中的实现也会更干净。我会玩弄它,看看会发生什么。
-
由于 AJAX 确实是测试外部资源是否加载并出现错误响应的唯一方法,因此它可能是唯一的方法,除非 adsbygoogle.js 有一个变量,您可以在
if (loaded !== true) \\ hide the div