<script></script>
<script>
//Reklamı bir div içerisine koyunuz. Div in class ı (.add) olsun. Bu div e height vermeyiniz.
//Şayet AddBlock varsa reklamı içine koyduğunuz div in height i 0 olacaktır.
//Aşağıdaki fonksiyonda istediğiniz bir yöntemi seçtikten sonra kullanmayacağınız seçenekleri kaldırınız.
//Fonksiyon içerisindeki süreleri değiştirebilirsiniz. (1000 = 1 saniye)
function checkAddBlock(){
if($('.add').height()==0){ // Height 0 ise, yani reklam gelmediyse (AddBlock aktif ise)
//1-) 10 saniye aralıklarla uyarı ver (Start) (AddBlock pasif edildikten sonra sayfanın kullanıcı tarafından yeniden başlatılmasını gerektirir. Aksi durumda AddBlock pasif edilse bile sayfa 10 saniyede bir uyarı verecektir. Uyarınızda sayfanın yeniden başlatılması gerektiğini belirtiniz.)
alert("Lütfen AddBlock'u Pasif Hale Getirip Sayfayı Yeniden Başlatınız. Anlayışınız İçin Teşekkür Ederiz.");
setTimeout(function(){checkAddBlock()},10000); //Saniyeyi kısa tutarsanız, kullanıcı AddBlock'u pasif edemeden sayfa tekrar uyarı verecektir. Bu durum, istenmeyen bir sonucu ortaya çıkartacağından makul bir süre tanıyınız. (Aynı zamanda çok kısa aralıklarla verilen alert ler tarayıcı tarafından engelleme seçeneği ile sunulurlar.)
//(End)
//2-) Başlangıçta uyarı ver ve 5 saniye sonra sayfayı yeniden başlat. (Start) (Başlangıçta uyarı verir ve uyarı kapatıldıktan 5 saniye sonra sayfayı yeniden başlatır. Şayet AddBlock pasif edilmemişse tekrar uyarı verir ve istenilen şart oluşmadıkça işlemi sürekli olarak tekrarlar. Bu seçenekte, uyarı verildikten sonra AddBlock pasif edilirse, 5 saniye sonra sayfa kontrol için otomatik olarak yeniden başlatılacağından kullanıcının sayfayı yenilemesine gerek kalmaz. Ek Bilgi : Kullanıcının istenilen şarta uyduktan sonra sayfanın kontrol için yeniden başlatılması istenmeyen bir tepki oluşturabilir. Bu sebepten ötürü yeniden başlatma işleminin kullanıcı tarafından yapıldığı 1. seçenek daha makuldur.)
alert("Lütfen AddBlock'u Pasif Hale Getiriniz. Anlayışınız İçin Teşekkür Ederiz.");
setTimeout(function(){location.reload();},5000);
//(End)
//3-) AddBlock için dizayn edilmiş sayfaya yönlendir (Start) (Bu seçenek kullanıcı deneyimi açısından daha iyidir. Fakat işlemin amacına ulaşması için yönlendirilen sayfada, 'AddBlock kullandığınız için site içeriğini kısıtlı olarak görmektesiniz. Tam içerik için AddBlock u pasif ediniz.' diye uyarı yazısı göstermek gerekir.)
window.location.href("AddBlock Kullanıcıları İçin Sadeleştirilmiş sayfa URL");
//(End)
}
}
$(function(){checkAddBlock()}); //AddBlock var mı, yok mu kontrol et.
</script>
Bu scripti şimdi yazdım. Geliştirilebilir ve seçenekleri arttırılabilir. Daha farklı boyutlara ilerletilebilir. Kullanmadığınız seçenekleri fonksiyonun içerisinden çıkartınız. Her seçeneği ayrı ayrı birer fonksiyon haline de dönüştürebilirsiniz. AddBlock pasif edilirse, kullanıcıya duyarlı davranışından ötürü teşekkür edebilirsiniz vs. Size kalmış.
Tabi bu engelleme veya farklı siteye yönlendirme durumu tercih meselesidir.
Konu hakkında bazı arkadaşlarımızın yaptığı yorumlarda gayet mantıklı.
Örneğin;
*AddBlock kullanan ziyaretçi o reklama zaten tıklamaz. Boşuna ziyaretçi kaybedersin.
*Kullanıcı AddBlock kullansa bile sitenize sağladığı hit veya yapacağı bir paylaşım, popüleritenizi arttıracak ve mecranızı geliştirecektir.
Faydalı olması dileğiyle...
Ek Olarak: Şayet alert methodu tarayıcı tarafından süreyi yüksek tutmanıza rağmen engelle seçeneği ile sunuluyorsa, alert yerine kendiniz bir popup yapıp sitede işlem yapılmasını engelleyebilirsiniz.
Daha ılımlı bir yaklaşım sergilemek isteyen arkadaşlarımız, alert yerine sağ alt köşede küçük bir kutu çıkartarak sempatik bir mesaj ile kullanıcıyı yakalayabilir. Bu durumda tekrarlı süreye de ihtiyaç kalmayacaktır. Şayet AddBlock aktif ise küçük bir kutu çıkartılır ve o kutu orada sabit kalır. Şayet kullanıcı AddBlock u pasif ederse bu durumda kutu kaldırılır ve teşekkür edilir.