【问题标题】:Add text above advertisement but hide it when adblock blocks the ad在广告上方添加文字,但在 adblock 阻止广告时将其隐藏
【发布时间】: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

标签: html adsense adblock


【解决方案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

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

    • “随意点击广告”
    • “为事业做贡献,看广告”
    • “帮助保持此网站运行,看看我们的赞助商”
    • “我们需要一个新服务器。支持我们!”

    来源:Ad placement policies

    【讨论】:

      【解决方案3】:

      对于横向广告,用 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;}
      

      【讨论】:

        猜你喜欢
        • 2015-12-04
        • 1970-01-01
        • 2018-07-13
        • 1970-01-01
        • 1970-01-01
        • 2017-12-23
        • 2018-12-13
        • 2016-04-01
        • 2013-06-23
        相关资源
        最近更新 更多