代码之家  ›  专栏  ›  技术社区  ›  Bytes

如何使用document.getElementById()添加广告?

  •  2
  • Bytes  · 技术社区  · 9 年前

    我有一个id为“ad”的。我试图在用户满足条件时,使用JavaScript在那里投放广告。基本上,当用户满足某个条件时,就会显示广告。

    这是我的代码:

    if ($resultTot = $db->query($queryTot)) 
        {
            $data = $resultTot->fetch_assoc();
    
         if($data["total"]>1)
            {
                    echo "<script>
                        document.getElementById('ad').innerHTML = 'async src='//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js'
    <!-- YC2 ads -->
    <ins class='adsbygoogle'
         style='display:block'
         data-ad-client='ca-pub-4557496244647182'
         data-ad-slot='4151529047'
         data-ad-format='auto'></ins>
    
    (adsbygoogle = window.adsbygoogle || []).push({});
    
                    </script>";
    
    
         }
      }
    

    当我使用文档时。getElementId()来改变,比如说一个p标记,它是有效的。我就是无法显示广告。关于如何将其添加到其中以及为什么我的代码不工作,有什么想法吗?

    1 回复  |  直到 9 年前
        1
  •  0
  •   Rene Korss    9 年前

    你只需要打印普通的AdSenseJS代码。无需使用JS获取任何元素。

    当前您正在编辑的内容 #ad DOM元素。这不起作用,因为它必须 <script> 而不是在里面。 src 是属性。

    结果一定是这样

    <script async src='//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js'></script>
    

    因此,请使用以下方法:

    if ($resultTot = $db->query($queryTot)) 
    {
      $data = $resultTot->fetch_assoc();
    
      if($data["total"]>1)
      {
        echo "
        <div id='ad'>
          <!-- YC2 ads -->
          <ins class='adsbygoogle'
               style='display:block'
               data-ad-client='ca-pub-4557496244647182'
               data-ad-slot='4151529047'
               data-ad-format='auto'></ins>
          <script>
          (adsbygoogle = window.adsbygoogle || []).push({});
          </script>
        </div>
        <script>
          var script = document.createElement('script');
          script.async = true;
          script.src = '//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js';
          document.getElementById('ad').appendChild(script);
        </script>
        ";
      }
    }