Özer Gül

Adblock Uzantısını Algılama ve Hata Verdirme (Chrome)

2015 08 11 Javascript

Adblock bildiğiniz gibi birçok yayıncının başına bela. Aynı zamanda reklamveren için de çok büyük bir sıkıntı. Sitesinde reklam olanlar adblock için ziyaretçilerine uyarı verdirmek isteyebilirler diye düşündüm.

Kodu internette buldum birazcık düzenledim bikaç bişey ekledim. Yapmanız gereken kodu kopyalayıp js dosyanızın en altına yapıştırmak ya da kodu farklı bir isimle kaydedip sayfanıza dahil etmek.

function detectChromeExtension(extensionId, accesibleResource, callback){
    if (typeof(chrome) !== 'undefined'){
        var xmlHttp = new XMLHttpRequest(),
            testUrl = 'chrome-extension://' +extensionId +'/' +accesibleResource;
        xmlHttp.open('HEAD', testUrl, true);
        xmlHttp.setRequestHeader('Content-type', 'application/x-www-form-urlencoded');
        xmlHttp.timeout = 1000;

        xmlHttp.onreadystatechange = function() {
            if (xmlHttp.readyState == 4 && typeof(callback) == 'function') {
                if (xmlHttp.status == 200) {
                    callback.call(this, true);
                } else {
                    callback.call(this, false);
                }
            }
        }        
        xmlHttp.ontimeout = function() {
            if (typeof(callback) == 'function')
                callback.call(this, false);
        }        
        xmlHttp.send();
    } else {
        if (typeof(callback) == 'function')
            callback.call(this, false);
    }    
};

detectChromeExtension('gighmmpiobklfepjocnamgkkbiglidom', 'chrome_oauth_receiver.html', callBackAdblockDetector);



function callBackAdblockDetector(extensionExists) {
    if (extensionExists) {
		var r = confirm("Lutfen AdBlock eklentisini devre disi birakiniz.");
    }
}

Sitemde uyarı nasıl görünecek?

Sitenizde resimdeki gibi bir uyarı çıkacaktır. Tamama veya iptal e basınca sayfada herhangi birşey olmayacak. İşlem tamamen caydırma ve uyarma amaçlı.

ss

Adblock kullananlar sitemin içeriğini göremesin diyorsanız

Eğer böyle bir isteğiniz varsa, ki haklı olabilirsiniz yapmanız gereken şey callBackAdblockDetector adlı fonksiyonu şöyle değiştirmek.

function callBackAdblockDetector(extensionExists) {
    if (extensionExists) {
var r = confirm("Lutfen AdBlock eklentisini devre disi birakiniz.");
if (r == true) {
   // tamama basıldı
} else {
	// iptale basıldı
    document.body.innerHTML = "...";
}

İşlem bu kadar.

(Kodu yakın zamanda diğer reklam engelleyici uzantılar için güncelleyeceğim)

One response to “Adblock Uzantısını Algılama ve Hata Verdirme (Chrome)”

  1. ikinci el eşya says:

    Reklam konusunda bazı wm ler işin cılkını çıkardılar, sayfada herhangi br yere tıklayınca 5-6 popup açılıyor, sayada gezemk bile imkansız oluyor. Bu şekilde ahlaka sahip olan kazanç çılgını wm ler yüzünde de insanla bu eklentiyi kullanıyor. Yani dürüst insanlar mağdur oluyor .

Leave a Reply

Your email address will not be published. Required fields are marked *

(c) Özer Gül, css framework w3.css