12 ответов
Если вы хотите показывать объявления, даже когда AdBlock активен, вам нужно будет понять, что AdBlock способен сделать.
Хотя сказано, что AdBlock также может изменять CSS, я не могу найти какую-либо документацию, кроме скрыть и свернуть элементы.
Итак, что именно вы могли сделать, чтобы быть "умнее", чем AdBlock?
Вы можете замаскировать свой запрос таким образом, чтобы он никогда не был "сопоставим" (например, http://domain.com/ae9a70e0a.png , где имя изображения будет случайным каждый раз и без общего префикса). Насколько мне известно, правило в AdBlock не может содержать регулярное выражение. Правило не будет равно ни объявлений, ни слишком большого количества ресурсов. Можно было бы переписать такой URL-адрес на сервере, чтобы указать на ваше объявление.
Однако, хотя AdBlock, возможно, не сможет заблокировать ваше объявление от загрузки, он все равно сможет его скрыть. Никакого реального способа обойти это невозможно. Всегда найдется умный селектор CSS, который будет -just- выбирать ваш элемент. Однако вы можете добавить фоновое изображение с контентом. Это не полезно для объявления (не доступно для кликов), но может помочь вам отобразить другое сообщение. Недостатком является то, что если кто-то решит заблокировать это раздражающее фоновое изображение, он также скроет ваш контент.
Что касается script, вы можете загрузить объявление с помощью запроса ajax. Я полагаю (но не могу проверить), что он даст ошибку, если ресурс не может быть загружен (потому что он был заблокирован). ($.ajax(request).error(function() { ... }); в jQuery или какой-либо эквивалент в обычном javascript). Вы можете использовать это, чтобы сделать что-то еще. Вы можете включить это в сам документ вместо внешнего ресурса, чтобы гарантировать, что он всегда будет работать (если включен javascript). Даже тогда вы не можете быть уверены, что "что бы вы ни делали" никогда не будет заметно отображаться. В качестве последней меры вы можете сделать window.alert(...) . Предположим, что в течение 3 страниц ваши посетители никогда не вернутся, если вы их используете.
Другим способом, о котором я могу думать, является создание websocket на сервере (afaik это не может быть заблокировано AdBlock). На стороне сервера вам нужно будет проверить, не загружены ли страницы объявлений, когда загружена определенная страница. Эта информация может быть отправлена через сокет, который можно использовать в script для выполнения "чего-то". Это, однако, кажется сумасшедшим сложным и является значительным накладным капиталом для "всего лишь" script, который обнаруживает AdBlock.
Простой вызов Ajax выполняет задание:
Var xmlhttp = new XMLHttpRequest() xmlhttp.onreadystatechange = function() { if(xmlhttp.readyState == XMLHttpRequest.DONE){ if(xmlhttp.status !== 404){ console.log("Blocking ads") }else{ console.log("Not blocking ads") } } } xmlhttp.open("GET", "/498100ffe815d700cd838d1/ads/showad.js", true) xmlhttp.send()
Или даже лучше, без дополнительных HTTP-ресурсов:
Var adBlockTester = document.createElement("div"); adBlockTester.innerHTML = " "; adBlockTester.className = "adsbox"; document.body.appendChild(adBlockTester); window.setTimeout(function() { if(adBlockTester.offsetHeight === 0){ console.log("Blocking ads") }else{ console.log("Not blocking ads") } document.body.removeChild(adBlockTester); }, 60);
Следующий фрагмент будет в значительной степени определять все блокировки рекламы. Требуется jQuery .
(function(){ var bait = "http://googleads.g.doubleclick.net/pagead/gen_204?id=wfocus&gqid=advertisment&advert=ads"; $.ajax({ url: bait, dataType: "script"}) .fail(function () { alert("ad blocked"); }) .abort(function () { alert("ad blocked"); }); })();
Он завернут в самоисполняющуюся анонимную функцию, чтобы он не мешал другим vars или коду на сайте.
bait использует самую популярную сеть показа объявлений (двойной клик Google) и включает несколько других параметров запроса, используемых easylist и другие.
При этом требуются методы fail() и abort() , но будет вызван только один или другой.
Приближается праздник - Международный женский день. Подготовимся заранее к нему. Вы можете оригинально поздравить девушек и женщин, воспользовавшись сервисами открыток, о которых пойдет речь ниже.
Воспользуйтесь следующими сервисами, чтобы создать открытку практически с нуля.
Я надеюсь, что воспользовавшись одним из этих генераторов, вы сможете достойно поздравить своих дам с 8 марта!
Автор: Иванова Наталья 2019-02-17Содержание статьи:
Google Plus закрывается Платформа Google Plus не оправдала надежд разработчиков и будет удалена полностью уже 2 апреля 2019 года. Вместе с ней исчезнут связанные с ней альбомы в Google Фото, станут недоступными авторизации на сайтах с аккаунтом Google Plus. Уже с 4 февраля стала недоступной функция создания профилей Google Plus, каналов и страниц. Если на вашем аккаунте хранился ценный контент, то вы можете скачать резервную копию .Подтвердите переход на и задайте свое имя или никнейм.
Не забудьте загрузить аватар в вашем профиле Blogger.
Как удалить профиль гугл плюс Если вы решили раз и навсегда избавиться от профиля Г+, то перейдите на свою страницу гугл плюс –> Настройки –> прокрутите страницу до конца вниз –> удалить аккаунт гугл плюс:Сегодня расскажу что такоеCSS3, с чем его едят, где его искать, как правильно его прописывать. Предупреждаю, буду рассказывать от себя, упрощенно для широкой публики, как я это вижу + примеры. Итак, начнем издалека.
CSS – это стили, в которых прописываются свойства объекта. Значит, они есть во всех существующих движках, если вы их не можете найти, значит либо не там смотрите, либо их действительно нет (кривой сайт
). Где же они обычно найти? Обычно это корень сайта, название файла style.css, хотя, в принципе, название не так важно, как расширение.css, если файл с таким расширением – это файл стилей.
Смотрите также на моём блоге.