2014-07-26 150 views
0

我想在adsense广告上方添加一条小信息以表示它是广告并感谢用户不使用adblock。很明显,如果用户使用adblock,我希望隐藏它。在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的脚本做躲藏。我主要想知道这是否可能。有没有什么地方可以包含文字,这样它就会被视为广告的一部分,因此会被封锁?

+0

尝试HTTP ://stackoverflow.com/questions/14079048/adblock-plus-hids-elements-with-ids-or-class-with-the-word-ad –

+0

@estshy麻烦是我想'广告'div被隐藏,但事实并非如此。 –

+1

我想adblock只是阻止脚本的加载。您可能可以通过ajax加载该脚本并检测是否有错误。尽管现在不能测试这个理论。 – Sumurai8

回答

1

那么解决方案其实很简单。您只需将文本样式应用到.adsbygoogle,然后使用::before::after伪元素来显示文本。当广告被阻止时,.adsbygoogle元素不存在,因此不会创建伪元素。

.adsbygoogle { 
    font-size: 12px; 
    text-align: center; 
} 
.adsbygoogle:before { 
    content: 'Text above'; 
} 
.adsbygoogle:after { 
    content: 'Text below'; 
} 

它简单,干净,语义也总是优点。无需额外的标记或任何JavaScript。

2

我很抱歉,但正确回答你的问题非技术和负:你不能为“上面添加的AdSense广告的小消息,以表示它是一个广告,并感谢用户为不使用adblock“。

  • 谢谢你没有使用的Adblock!” 随时随地您的网站或网页:
    非常大的风险,我认为这是违反AdSense政策的。

  • 谢谢你没有使用的Adblock!” 以上的AdSense广告单元
    “过分强调” 和 “具有误导性的标签” AdSense计划。

  • 广告直接支持本网站的主机”:
    明显违反 - ‘鼓励用户点击谷歌广告’。

为了确保用户和广告客户, 出版商参与AdSense计划的良好体验不得:

  • 补偿为用户观看广告或执行搜索,或承诺赔偿这种行为的第三方。
  • 鼓励用户使用诸​​如“点击广告”,“支持我们”,“访问这些链接”或其他类似 语言的短语来点击Google广告。
  • 使用箭头或其他图形噱头引导用户关注广告。
  • 在个别广告旁放置误导性图片。
  • 将广告放置在浮动框脚本中。
  • 格式化广告,使其与该页面上的其他内容无法区分。
  • 格式化网站内容,以便很难区分广告。
  • 在Google广告单元上放置误导性标签。例如,广告可能被标记为“赞助商链接”或“广告”,但不包括“最喜欢的网站”或“今日的热门优惠” 。

来源:AdSense program policies

发布商不得用语言来引导用户点击 谷歌的广告,如:

  • “随意点击广告”
  • “为原因做出贡献,访问广告”
  • “帮助k eep这个网站运行,看看我们的赞助商“
  • ”我们需要一个新的服务器。支持我们“

来源:Ad placement policies

+0

它声明:'广告可能被标记为“赞助商链接”或“广告”,这基本上是我正在做的。我确保用户通过将其与其他页面内容区分开来,了解它是一种广告。 “广告直接支持本网站的托管”这一行可能需要更好的措辞,尽管它不直接鼓励点击,因此不会违反条款。此外,你的回答不具有建设性,也不会以任何方式回答原始问题。 –

0

对于水平的广告,与一个div

<div class="adHorizontal"> 

这个CSS包装广告为我工作:

div.adHorizontal ins.adsbygoogle:before { 
content: 'Advertisement'; 
position: relative; 
top: 15px; 
color: #888; 
font-size: .75rem; 
-webkit-transform: rotate(270deg); 
transform: rotate(270deg); 
transform-origin: right top 0; 
float:right;}