Ссылки Поиск Написать В избранное NO

Скрипт затемнения фона сайта (за исключением некоторых блоков)

Не так давно я встретил замечательную идею в одном из блогов. При блокировке рекламы Адбоком, весь сайт становился черно-белым, а предупреждение оставалось цветным. К сожалению, реализация подобного опять натолкнулась на отсутствие поддержки фильтров в браузерах IE 11 и Edge. Да, можно было городить огород с кучей обходных маневров, Джиквери, библиотеками скриптов... но это явно не мой метод. Поэтому на подобный скрипт я решил «забить» и забыть.


(05.01.2016 blogger) Затемнение сайта - Вокруг блока рекламы - пример работы скрипта

И вот совсем недавно мне заказали скрипт затемнения всего сайта при заходе посетителя. Нужно было только оставить яркими блоки с рекламой. На удивление, сама идея реализации оказалась крайне простой. Хоть и пришлось повозиться. Мы просто делаем слой фиксированный слой с position: fixed; растянутый на весь экран width: 100%; height: 100%; и присваиваем ему, например, z-index: 9998. А нужному нам блоку или рекламе - z-index: 9999. В принципе, это все. Дальше нужно определять клик по ифрейму (рекламе) и скрывать наше затемнение.

Если использовать в CSS свойство pointer-events, можно накладывать слой, через который можно будет кликать и пользоваться сайтом как обычно.


Понятно, что сам я пока не собираюсь использовать подобное для Адсенса, например. Да и конечный скрипт вышел немного умнее, чем я тут описал. Он умеет работать с куки, запоминая посетителя, определять наличие нужных боков на странице и закрываться для владельцев Адблока.

Такая вот новогодняя разработка вышла.