阻止 AdSense 自动广告在特定区域展示广告

Sur*_*ane 5 html javascript css adsense google-ad-manager

我在粘贴 AdSense 自动广告代码的项目中遇到问题,其中一个自动放置的广告破坏了网页布局和设计。是否有一种方法可以防止特定广告显示在某个元素或容器内。以下是该广告所做的示例:

实现 AdSense 自动广告之前的代码:

 <div class="row">
  <div class="col-md-4">
   somecontent
  </div>
  <div class="col-md-4">
   somecontent
  </div>
  <div class="col-md-4">
   somecontent
  </div>
Run Code Online (Sandbox Code Playgroud)

实现 AdSense 自动广告后的代码:

 <div class="row">
  <div class="col-md-4">
   somecontent
  </div>
  <div class="google-auto-placed">
    ad content
  </div>
  <div class="col-md-4">
   somecontent
  </div>
  <div class="col-md-4">
   somecontent
  </div>
Run Code Online (Sandbox Code Playgroud)

dra*_*ski 9

我对这个问题的解决方案只有CSS。如果我不想在特定容器中显示自动放置的谷歌广告,那么我会向该容器添加一些类,例如“无广告”。

那么我的 CSS 就很简单了:

.no-ads .google-auto-placed {
   display: none !important;
}
Run Code Online (Sandbox Code Playgroud)


小智 2

您可以尝试制作一个在Google AdSense 脚本(重要的话)之后执行的 JavaScript 文件。就像是:

var ad = document.querySelector(".google-auto-placed"); //Can be replaced any identifying trait depending on the actual Ad Div
ad.innerHTML="";
Run Code Online (Sandbox Code Playgroud)
<html>

<body>

  <div class="row">
    <div class="col-md-4">
      somecontent
    </div>
    <div class="google-auto-placed">
      ad content
    </div>
    <div class="col-md-4">
      somecontent
    </div>
    <div class="col-md-4">
      somecontent
    </div>

</body>

</html>
Run Code Online (Sandbox Code Playgroud)

这将删除广告(如果在 Google AdSense 脚本之后执行)。然而,这可能是一组 AdBlocker 检测器。

本质上,它的作用是选择google-auto-placed类,使用document.querySelector();该类将根据前缀(.在本例中为类)选择特定元素。遗憾的是,这可能不适用于某些较旧的 IE 版本。如果您有多个元素,您可能需要检查parentElement以检查它是否是正确的广告。您可以在这里阅读相关内容。

要了解更多相关信息,document.querySelector()请查看此处

  • 是的,但这不是违反 Adsense TOS 吗? (3认同)