Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/448.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在特定页面上包括Adsense_Javascript_Jquery_Adsense - Fatal编程技术网

Javascript 在特定页面上包括Adsense

Javascript 在特定页面上包括Adsense,javascript,jquery,adsense,Javascript,Jquery,Adsense,我有一个像下面这样的Adsense代码片段,我只想将它包含在body标记有class的“category”(body class=“category”)的页面上,我想把它放在div名为test(.test) 为此,我考虑使用: if ($("body").hasClass("category")) { } 但是,我是一个JS新手,我被两件事困住了: 如何在div调用test之前显示adsense块(下面的代码) (.test) 如果该页面有任何其他类,我需要该adsense 代码从

我有一个像下面这样的Adsense代码片段,我只想将它包含在
body
标记有
class
“category”
body class=“category”
)的页面上,我想把它放在
div
名为
test
(.test)

为此,我考虑使用:

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

  } 
但是,我是一个JS新手,我被两件事困住了:

  • 如何在
    div
    调用test之前显示adsense块(下面的代码) (
    .test
  • 如果该页面有任何其他
    ,我需要该adsense 代码从页面中消失
  • 这是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>
    
    
    (adsbygoogle=window.adsbygoogle | |[]).push({});
    
    我不是以英语为母语的人,但我试着用最好的方式解释它。

    试试这个

    • 我正在使用
      ins
      代码

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


    if($(“body”)[0]。className==“category”){
    $(“.test”)。在(``)之前;
    var s=document.createElement(“脚本”);
    s、 type=“text/javascript”;
    s、 src=location.protocol+“//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js”;
    $(“标题”)。追加;
    (adsbygoogle=window.adsbygoogle | |[]).push({});
    });
    
    这应该是解决方案

      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>');
      } 
    

    在append的调用中没有撇号。此外,如问题中所述,您需要在之前使用$(“.test”)。而不是append。最后,您需要处理body有category类,但也有另一个类的情况。我恳请您相应地编辑您的答案。您是对的,我不知道这种语法,谢谢您指出这一点。这澄清了第一个问题,但不是第二个问题,也不是第三个问题。如果类是“category somethingelse”,则在testhasClass之前为true。这个问题似乎要求我们不要在这种情况下添加AdSense,只有在class=“category”的情况下。如果这个答案不能解决这个问题,我就不能对它进行投票。我的回答解决了这个问题。
      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>');
      } 
    
    if (document.getElementsByTagName("body")[0].class === "category") {
        //...
    }