Ошибка 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), цифр и подчеркиваний, а первый символ должен быть английской буквой.
нет =