Есть ли универсальный способ определить блокировщик рекламы в браузере посетителя?
Приветствую.
Если человек открывает страницу сайта с блокировщиком рекламы, то есть вероятность того, что поиск сайта будет работать некорректно, так как отдается с яндекса. Хотелось бы при наличии блокировщика вывести сообщение о том, что поиск по сайту будет работать некорректно. Поделитесь решением определения наличия блокировщика рекламы, жучков, паучков на JS.
pfg21, мне не нужен антиблокировщик. Мне нужно просто вывести уведомление о том, что «чувак, поиск на сайте не будет работать с твоим блокировщиком рекламы, се ли ви».
weranda, так анализируйте СВОЙ сайт, а не браузер пользователя.
Если У ВАС не загружаются результаты - тогда и выдавайте пользователю сообщение о возможных причинах.
Весьма однозначный кейс, без гадания и борьбы щита и меча.
Aetae, Еще понять — как? Это сообщение штатно появляется даже тогда, когда нет никакого блокировщика рекламы, но исчезает при появлении результатов. Если сделать отложенную проверку наличия этого сообщения, к примеру, через 5-10 секунд, то можно столкнуться с ситуацией, когда у человека просто медленный интернет и сообщение тут будет не очень уместно.
weranda, при появлении этого сообщения ставить таймаут и через 5 - 10 секунд вывешивать баннер "если поиск зависает, возможно бла-бла-бла". При исчезновении сообщения - отиенять таймаут, если он еще не закончился, или убрать баннер, если он уже вывешен.
Подключаешь какой-нибудь счетчик (например от яндекса) а потом проверяешь наличие его переменных в скоупе window, для яндекса это window.Ya. Сами переменные можно определить из кода счетчика. Ну или другие побочные эффекты этих скриптов проверяй.
Sanes, Дело не во встраивании рекламы, не в ней. Рекламу можно встроить просто по уникальному (каждый раз) элементу разметки и это не будет никак зависеть от наличия или отсутствия блокировщика рекламы.