Можно ли реабилитировать скрипт Adblock Detector?
Доброго времени суток.
Есть вот такой скрипт: <script> var ads = "no-adblock" var msg = '<div class="noadblock">Вы используете расширение AdBlock или подобное. Вы можете добавить этот сайт в белый список, и тем самым внесете свой вклад в его развитие.</div>'; onload=function(){ if (document.getElementsByClassName == undefined) { document.getElementsByClassName = function(className) { var hasClassName = new RegExp("(?:^|\s)" + className + "(?:$|\s)"); var allElements = document.getElementsByTagName("*"); var results = []; var element; for (var i = 0; (element = allElements[i]) != null; i++) { var elementClass = element.className; if (elementClass && elementClass.indexOf(className) != -1 && hasClassName.test(elementClass)) results.push(element); } return results; } } blocked = 0; var ad_nodes = document.getElementsByClassName(ads); for(i in ad_nodes){ if (ad_nodes[i].offsetHeight == 0){ blocked = 1; ad_nodes[i].innerHTML = msg; } } } </script> Он был заблокирован вот такой командой abort-on-property-write, document.getElementsByClassName Что такое abort-on-property-write, можно прочесть здесь Можно ли его реанимировать? |
12345678,
так может выкинуть строки 6 - 20 и var ad_nodes = document.querySelectorAll("."+ads); |
рони
Спасибо за ответ. Сделал и заблокировали уже вот этой командой set-constant, Object.prototype.toString, undefined Наверное это стало возможным как раз из-за выкинутых строк... |
А нет, поломали этим все скрипты на сайте.
И в этой связи вопрос: можно ли выводить сообщение для посетителей сайта (точнее, наверное, не скрывать, потому что скрипты то нормально не работают)? Хочу объяснить причину того, почему теперь ничего на сайте не работает, причина которому использование uBlock |
На самом деле если какой-то фильтр ломает сайт - можно спокойно написать об этом на сайте фильтра и всё поправят.
Но в вашем случае ваш сайт ломает ваш же скрипт, который пытается испортить работу блокировщика рекламы. А в таком случае - шли бы в к чёрту. Ваша борьба с ветряными мельницами в принципе не имеет смыла. Ваши клиенты - необразованные в ИТ люди, не знающие о блокировщиках рекламы и их вам должно быть достаточно. Не трогайте тех, кто не хочет видеть рекламу, потому что даже если ваш скрипт сработает - блокировщик такие люди не отключат, а просто уйдут с вашего сайта послав вам парочку проклятий. |
Aetae
Мой скрипт ничего не ломает. Он просто выводит сообщение о том, что реклама - единственный источник дохода. Всё больше людей хотят качественный контент безвозмездно, но это тупиковый путь. Сколько лет, дней и ночей понадобилось на развитие ресурса, а тут так поступают. И я повторюсь, я рекламу не вывожу, а только просьбу быть людьми, войти в положение. |
Часовой пояс GMT +3, время: 07:40. |