Заглушка РСЯ для Украины

1 23
D.iK.iJ
На сайте с 26.05.2013
Offline
225
#21
Sevbanchik:
А можете кодом поделиться?
Спасибо.

На чистом ДжаваСкрипт можно, например, сделать как-то так.


window.onload=function(){
var msg = '1111111'; //Что будем выводить
if (document.getElementById("aaa") && document.getElementById("aaa").offsetHeight <= "30"){document.getElementById("aaa").innerHTML = msg;}
}

Это для блока рекламы с ID aaa

<div id="aaa"></div>

Адаптивный дизайн в 2 строчки ( https://dikij.com/wm/adaptaciya-saytov.php ). + Принимаю заказы любой сложности ( https://searchengines.guru/ru/forum/926323 ). 💎 Еще я делаю классные кулоны с опалами ( https://mosaicopal.ru/ ).
NewAction
На сайте с 18.04.2014
Offline
96
#22
Sevbanchik:
А можете кодом поделиться?

Конечно. Все просто:

window.addEventListener("load", function() {

if(document.getElementById("your-block-id-here").offsetHeight<50){
здесь код вызова рекламного блока
}

}

Найти и перепрятать
Sevbanchik
На сайте с 06.09.2011
Offline
105
#23

Спасибо. А почему 50px? Почему не 0 или 20 px?

Как кому, а мне нравится думать
NewAction
На сайте с 18.04.2014
Offline
96
#24

А это по желанию, число можете сами выбрать какое покажется актуальным. Я исходил из того, что размер самого маленького блока (если это именно баннер, а не строка), составляет 320*50 пикселей — отсюда и высота. Если блоки для мобильников на какой-то позиции точно не выводятся, то там я бы поставил в условие 60 или 90 пикселей, взяв высоту стандартных баннеров 468*60 или 728*90.

Sevbanchik
На сайте с 06.09.2011
Offline
105
#25

Ага, тоже ясно.

Я уже сделал иначе, просто думаю, может ли быть, что мой метод хуже, или он не каждый раз может работать – тут нужно отследить, как работает отрисовка РСЯ.

window.onload = function() {

if (document.querySelector("#yandex_rtb_R-A-XXXXX-X yatag") == null) {

/* оекламный код */

}

}

Т.е. если в блоке, куда РСЯ закидывает свой код нет тега yatag, тогда показывать свою рекламу.

Solmyr
На сайте с 10.09.2007
Offline
501
#26
NewAction:
По событию "load" проверяется высота блока РСЯ, и если она меньше некоторого небольшого значения (то есть если рекламы в блоке нет), то блок заменяется Адсенсом

Не очень кошерный способ, потому что load происходит раньше чем загрузятся картинки. Если высота блока РСЯ зависит от того, загрузились картинки или нет, то работать будет нестабильно.

Sevbanchik
На сайте с 06.09.2011
Offline
105
#27

Ну почему же. Вот тут пишут как раз, что load – загружены картинки, стили и сприпты.

https://learn.javascript.ru/onload-ondomcontentloaded

Solmyr
На сайте с 10.09.2007
Offline
501
#28
Sevbanchik:
Ну почему же. Вот тут пишут как раз, что load – загружены картинки, стили и сприпты.
https://learn.javascript.ru/onload-ondomcontentloaded

Сорри, перепутал с DOMContentLoaded

D.iK.iJ
На сайте с 26.05.2013
Offline
225
#29
Solmyr:
Сорри, перепутал с DOMContentLoaded

Я бы все равно ставил пару секунд задержки после загрузки - для Гугла.

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

Да и 2 - 5 секунд задержки для самого нижнего блока рекламы на странице - мелочи.

slams
На сайте с 26.07.2008
Offline
160
#30

Я проверку гео вынес в ajax запрос и загружаю блоки только для UA и для остального мира.

1 23

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий