Показать сообщение отдельно
  #1 (permalink)  
Старый 01.01.2020, 21:38
Кандидат Javascript-наук
Отправить личное сообщение для 12345678 Посмотреть профиль Найти все сообщения от 12345678
 
Регистрация: 03.09.2012
Сообщений: 109

Можно ли реабилитировать скрипт 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, можно прочесть здесь

Можно ли его реанимировать?
Ответить с цитированием