Ошибка AdSense с Joomla (ошибка adsbygoogle.push())

Uncaught TagError: ошибка adsbygoogle.push(): все элементы ins в DOM с class=adsbygoogle уже содержат рекламу.

Я получаю ошибку с этим кодом:

<script async src="http://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js" type="text/javascript"></script>
<!--  -->
<ins class="ad-div adsbygoogle"
     style="display:inline-block;width:300px;height:250px"
     data-ad-client="ca-pub-XXXXXXXXXX"
     data-ad-slot="XXXXXXX"></ins>
<script>
(adsbygoogle = window.adsbygoogle || []).push({});

</script>  

Дело в том, что этот код работает в Joomla, но он не работает с компонентом Ohanah. Это всего лишь одно объявление, а не много. Также не должно быть никаких задержек PHP. Но это не работает

5 ответов

Насколько я знаю, "все элементы ins в DOM с class=adsbygoogle уже содержат рекламу" означают, что у вас есть больше (adsbygoogle = window.adsbygoogle || []).push({}) звонки на вашей странице, чем <ins class="adsbygoogle" ...></ins> теги.

Это обычно происходит, когда вы экспериментируете с различными позициями и (хотя бы один раз) вы забываете удалить весь фрагмент кода, но в этом случае это может быть компонент, который вы используете для удаления ins тег из кода AdSense.

Нажмите CTRL+U для просмотра источника и затем F3 для поиска adsbygoogle, и вы должны быть в состоянии найти проблему.

Попробуйте создать такую ​​функцию в файле JS

function createAndAppendAdsElement(id, adUnitID) {
    var parent = document.getElementById(id);

    var ele = document.createElement('ins');
    ele.style.display = 'block';
    ele.className = 'adsbygoogle';
    ele.setAttribute('data-ad-client', 'ca-pub-XXXXXXXX');
    ele.setAttribute('data-ad-slot', adUnitID);
    ele.setAttribute('data-ad-format', 'auto');
    ele.setAttribute('data-full-width-responsive', 'true');

    parent.appendChild(ele);

    (adsbygoogle = window.adsbygoogle || []).push({});
}

Этот метод находит div с предоставленным идентификатором, а затем создает элемент INS и добавляет его к этому div.

Вызовите этот метод при загрузке окна, как показано ниже:

window.onload = function () {
    createAndAppendAdsElement('elementOne', 'your_ad_unit_number');
    createAndAppendAdsElement('elementTwo', 'your_ad_unit_number');
    createAndAppendAdsElement('elementThree', 'your_ad_unit_number');
    createAndAppendAdsElement('elementFour', 'your_ad_unit_number');
    createAndAppendAdsElement('elementFive', 'your_ad_unit_number');
};

Вот вещь,

Когда я помещаю adsbygoogle = window.adsbygoogle || []).От себя({}); снова в конце шаблона, объявление работает. Но я все еще получаю сообщение об ошибке. Но это работает после второго adsbygoogle = window.adsbygoogle || []).От себя({}); выполняет.

Этот блок кода является обычным, но это в теге веб-страницы и удалить этот код с остальной части страницы, это должно работать

Это если на вашей веб-странице есть несколько объявлений.

<script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
<script>
(adsbygoogle = window.adsbygoogle || []).push({});
</script>

В моем случае кажется, что компонент принимает эти два сценария:

<script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
<script>
(adsbygoogle = window.adsbygoogle || []).push({});
</script>

И помещает их в верхнюю часть страницы, поэтому класс ins... и т.д. - это десятки строк ниже.

Уникальное имя должно состоять только из английских букв (AZ), цифр и подчеркиваний, а первый символ должен быть английской буквой.

нет =

https://support.google.com/adsense/answer/6307124?hl=tr

Другие вопросы по тегам