Защита от скачивания файлов, если включен AdBlock

140
04 апреля 2022, 17:40

Как реализовать подобную защиту от скачивания файлов на своем сайте (только для кнопки загрузки, остальное пусть пользователь читает стр. хоть с adblock, хоть без), если у пользователя включен AdBlock? Нужно чтобы пользователь для загрузки отключал обязательно свой adblock в браузере.

не картинку, подразумевается защита кнопки (download) с ссылкой на объект (svg, zip, exe и др.)

Answer 1

Подключите скрипт

<head>
    <script src="js/showads.js"></script>
</head>

внутри него пропишите

var ads = true;

На кнопку навесьте запуск функции по клику, а в функции:

if(ads==true)
  {
  //код для загрузки файла
  }
else
  {
  alert('adblock включен!');
  }
Answer 2

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

var adBlockEnabled = false; 
var testAd = document.createElement('div'); 
var download = document.getElementsByClassName('download'); 
testAd.innerHTML = '&nbsp;'; 
testAd.className = 'adsbox'; 
document.body.appendChild(testAd); 
window.setTimeout(function() { 
  if (testAd.offsetHeight === 0) { 
    adBlockEnabled = true; 
    document.querySelector('.download').classList.add("download__deactive"); 
    document.querySelector('.download__2').classList.add("download__deactive__2"); 
  } 
  testAd.remove(); 
  console.log('AdBlock Enabled? ', adBlockEnabled) 
}, 1200);
.download__deactive { 
  background-color: red; 
} 
.download__deactive__2 { 
  display: none; 
}
<button class="down">Просто кнопка</button> 
<button class="download">Скачать</button> 
<button class="download__2">Скачать</button>

READ ALSO
Почему не работает событие play()?

Почему не работает событие play()?

Написал такой скрипт

152
Как получить файлы из папки с помошью google api v.3?

Как получить файлы из папки с помошью google api v.3?

Как получить список фалов в папке с помошью Drive API v3 ?

148
Задача с конкатенацией строк

Задача с конкатенацией строк

Функция получает массив из целих чисел нужно последующие числа объединить через символ - и в конце вернуть строкуЯ почти решил задачу но есть...

79
Помогите понять структуру кода и решение задачи(многомерные массивы) [закрыт]

Помогите понять структуру кода и решение задачи(многомерные массивы) [закрыт]

Хотите улучшить этот вопрос? Добавьте больше подробностей и уточните проблему, отредактировав это сообщение

121