Как добавить объявление с помощью document.getElementById()?


У меня есть a с идентификатором "ad". Я пытаюсь разместить там рекламу adsense с помощью 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>";


     }
  }

Когда я использую document.getelementid() для изменения, скажем, тега p, это работает. Я просто не могу заставить adsense отображаться. Есть идеи о том, как я могу добавить его туда и почему мой код не работает?

Author: Bytes, 2015-08-11

1 answers

Вам просто нужно распечатать обычный JS-код AdSense. Нет необходимости получать какие-либо элементы с помощью 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>
    ";
  }
}
 0
Author: Rene Korss, 2015-08-11 07:01:29