Не загружать RTB блок на мобильном

DU
На сайте с 24.01.2020
Offline
12
745

Ребят подскажите как сделать чтобы блоки не загружались на мобилках. С Google у меня сделано так <script>{if (screen.width > 600) document.write ('<script src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></sc' + 'ript>');}</script>

а с RTB блоками что-то не выходит. Они вообще перестают работать.

V6
На сайте с 08.10.2008
Offline
106
#1

<script>

if (window.matchMedia('(min-width: 990px)').matches) {

(function(w, d, n, s, t) {

w[n] = w[n] || [];

w[n].push(function() {

Ya.Context.AdvManager.render({

blockId: "R-A-xxx",

renderTo: "yandex_rtb_xxx",

async: true,

statId: undefined /* должен быть целым числом между 1 и 1,000,000,000 */

});

});

t = d.getElementsByTagName("script")[0];

s = d.createElement("script");

s.type = "text/javascript";

s.src = "//an.yandex.ru/system/context.js";

s.async = true;

t.parentNode.insertBefore(s, t);

})(this, this.document, "yandexContextAsyncCallbacks");

}

</script>

У меня так работает, ххх на свои поменяйте.

Дмитрий Громов
На сайте с 15.08.2018
Offline
339
#2
DenisUfa:
Ребят подскажите как сделать чтобы блоки не загружались на мобилках. С Google у меня сделано так <script>{if (screen.width > 600) document.write ('<script src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></sc' + 'ript>');}</script>
а с RTB блоками что-то не выходит. Они вообще перестают работать.

Добрый день! Для того, чтобы рекламный блок отображался только на десктопной версии сайта, можно использовать, например, следующий код (добавив его на место блока и заменив «ID блока» на нужный ID):

<div id="yandex_ad1" style="margin:0 auto;"></div>

<script type="text/javascript">

(function(w, d, n, s, t){

if (window.matchMedia("only screen and (min-device-width: 1000px)").matches){

w[n] = w[n] || [];

w[n].push(function() {

Ya.Context.AdvManager.render({

blockId: ID блока ,

renderTo: "yandex_ad1",

async: true

});

});

t = d.getElementsByTagName("script")[0];

s = d.createElement("script");

s.type = "text/javascript";

s.src = "//an.yandex.ru/system/context.js";

s.async = true;

t.parentNode.insertBefore(s, t);

}

})(this, this.document, "yandexContextAsyncCallbacks");

</script>

Добавлю, что id="yandex_ad1" должен быть уникальным на странице (т.е. для нескольких блоков нужно использовать id="yandex_ad1", id="yandex_ad2" и т.д.).

Буду рад ответить на ваши вопросы про Директ, РСЯ, ADFOX, Метрику и Бизнес.
DU
На сайте с 24.01.2020
Offline
12
#3

Спасибо. Работает.

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