AdBlock Tespit Etmek

30 Ocak 2017alicanatas

Bazı sitelerde dikkatinizi çekmiştir AdBlock veya benzeri reklam engelleyici bir uygulama kullandığınızda direk ekranın ortasına reklam engelleyiciyi kapatmanızı isteyen bir uyarı çıkarırlar. Bu ara böyle bir yapıya ihtiyacım oldu ben biraz uzun bir yolla çözdüm siz direk ads classına sahip bir div ekleyerek daha kısa yoldan da çözebilirsiniz. Kullandığım yapı aşağıdaki gibidir. Buradaki kodda ben ekrana adsbox adında bir boş bir div oluşturuyorum ve daha sonra bu divin yüksekliğini kontrol ettiriyorum. Eğer yükseklik 0 değerini döndürüyorsa bu div yok yani reklam engelleyici mevcut, eğer 0’dan farklı bir değer ise reklam engelleyici mevcut değil reklamlarımı gönül rahatlığıyla gösteriyorum demektir. Burada timeout kullanmamın sebebi bu işlemi 1 saniyeden daha kısa sürede yaptırıp, adblock tespit edip daha sonra oluşturulan test bloğunu silmek için.

Zaten tüm adblock tespit etme fonksiyonları da aşağı yukarı bu mantıkla çalışıyor. Burdan yola çıkarak kendi fonksiyonunuzu da oluşturabilirsiniz.

kod şu şekildedir.

var adBlockEnabled = false;
var testAd = document.createElement('div');
testAd.innerHTML = ' ';
testAd.className = 'adsbox';
document.body.appendChild(testAd);
window.setTimeout(function() {
if (testAd.offsetHeight === 0) {
adBlockEnabled = true;
}
testAd.remove();
console.log('AdBlock Enabled? ', adBlockEnabled)

if (adBlockEnabled) {
	alert('reklam engelleyici aktif');
	//uyarı divini göster
} else {
	alert('reklam engelleyici yok');
	//şimdi reklamlar...
}
}, 100);

Leave a comment

E-posta hesabınız yayımlanmayacak.

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Önceki Yazı Sonraki Yazı