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

How to add an ad using document.getElementById()?

我有一个 id 为 "ad"。当用户满足条件时,我正在尝试使用 JavaScript 在其中投放 adsense 广告。基本上当用户满足特定条件时,就会显示广告。

这是我的代码:

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>";


     }
  }

当我使用 document.getElementId() 更改比方说 p 标签时,它起作用了。我只是无法显示 adsense。关于如何将它添加到那里以及为什么我的代码不起作用的任何想法?

您只需打印常规的 AdSense JS 代码。无需使用 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>
    ";
  }
}