在特定页面上包含Adsense

时间:2017-02-04 13:10:59

标签: javascript jquery adsense

我有一个如下所示的Adsense代码段,我想仅将其包含在body标记class "category"body class="category")的网页上想要在名为div test

(.test)之前放置它

为此,我正在考虑使用:

  if ($("body").hasClass("category")) {

  } 

但是,我是一个JS新手,我遇到了两件事:

  1. 如何在div调用test之前显示adsense块(下面的代码) (.test
  2. 如果网页上有其他class,我需要这个adsense 代码从页面中消失。
  3. 这是adsense的代码

      <script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
      <ins class="adsbygoogle"
           style="display:block"
           data-ad-client="ca-pub-641651684125955"
           data-ad-slot="84616945153"
           data-ad-format="auto"></ins>
      <script>
      (adsbygoogle = window.adsbygoogle || []).push({});
      </script>
    

    我不是母语为英语的人,但我试图以最好的方式解释它。

2 个答案:

答案 0 :(得分:3)

试试这个

  • 我正在使用ins if ($("body")[0].className=="category") { $(".test").before(`<ins class="adsbygoogle" style="display:block" data-ad-client="ca-pub-641651684125955" data-ad-slot="84616945153" data-ad-format="auto"></ins>`); var s = document.createElement("script"); s.type = "text/javascript"; s.src = location.protocol+"//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"; $("head").append(s); (adsbygoogle = window.adsbygoogle || []).push({}); }); 代码

  • 我测试了类语句中只有一个类“category”而没有其他类 - 你也可以使用classList并计算它们

DialogueManager

答案 1 :(得分:0)

这应该是解决方案。

  if ($("body").hasClass("category")) {
      $(".test").before('  <script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script> ' +
  '<ins class="adsbygoogle" ' +
       'style="display:block" ' +
       'data-ad-client="ca-pub-641651684125955" ' +
       'data-ad-slot="84616945153" ' +
       'data-ad-format="auto"></ins> ' +
  '<script> ' +
  '(adsbygoogle = window.adsbygoogle || []).push({}); ' +
  </script>');
  } 

如果您希望在给定class出现时阻止此操作,但还有另一个class,请更改您的if

if (document.getElementsByTagName("body")[0].class === "category") {
    //...
}