Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   Передать скрипт через скрипт (https://javascript.ru/forum/dom-window/78105-peredat-skript-cherez-skript.html)

Искорка 27.07.2019 13:26

Передать скрипт через скрипт
 
Здравствуйте, уважаемые гуру!
Подскажите, пожалуйста, непонятливой как лучше разбросать скрипт блоков адсенс по страницам статичного сайта. Делаю простейшим образом, но на некоторых сайтах не работает:
<div class="abc">

var abc = document.querySelector(".abc");
abc.innerHTML = '<script async src="https://pagead2.googlesyndication.com/pag...'

Буду благодарна за помощь.

MC-XOBAHCK 27.07.2019 15:10

Если рекламный блок размещён не на всех страницах где подключается скрипт, можно сделать проверку на наличие блока .abc
<div class="abc"></div>


Скрипт
var abc = document.querySelector(".abc");
if (abc) {
    abc.innerHTML = '<script async src="https://pagead2.googlesyndication.com/pag...';
}


------------------
Если скрипт отрабатывает до загрузки html документа (это когда файл скрипта подключается в блоке head), то нужно добавить слушатель на событие DOMContentLoaded
document.addEventListener('DOMContentLoaded', function() {
    var abc = document.querySelector(".abc");
    if (abc) {
        abc.innerHTML = '<script async src="https://pagead2.googlesyndication.com/pag...';
    }
});


----------------
Если рекламных блоков (<div class="abc") несколько на странице - цикл forEach:
document.addEventListener('DOMContentLoaded', function() {
    var ads = document.querySelectorAll(".abc");
    ads.forEach(function(el) {
        el.innerHTML = '<script async src="https://pagead2.googlesyndication.com/pag...';
    });
});

Искорка 28.07.2019 09:05

Спасибо Вам большое!


Часовой пояс GMT +3, время: 15:03.