Как добавить объявление с помощью 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 отображаться. Есть идеи о том, как я могу добавить его туда и почему мой код не работает?
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>
";
}
}