Конкретно сейчас я хочу лишь не показывать блок на маленьких экранах. А в общем случае хотел бы показывать разные блоки в зависимости от размеров экрана устройства.
В CSS я использую медиазапросы, но просто скрывать блок (display:none) плохо, т.к. код блока по хорошему не должен вообще вызываться. Поэтому хочу использовать аналог медиазапросов на джаваскрипте и будет типа такого (добавил условие window.matchMedia):
--------------------------------------
<div class="reklama">
<!-- R-*****-1 Яндекс.RTB-блок -->
<div id="yandex_ad_R-*****-1"></div>
<script type="text/javascript">
// условие вызова кода блока (только для экранов более 640 виртуальных точек шириной)
var m= window.matchMedia( "only screen and (max-device-width: 640px)" ) ;
if (! m.matches) {
(function(w, d, n, s, t) {
w[n] = w[n] || [];
w[n].push(function() {
Ya.Context.AdvManager.render({
blockId: "R-*****-1",
renderTo: "yandex_ad_R-*****-1",
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>
</div>
-----------------------------
Подскажите, можно так делать?