AdBlock / UBlock kuralları oluşturmak için Chrome'u kullanma


2

görüntü tanımını buraya girin

Ublock / Adblock sözdizimine göre kendi özel adblock kurallarım oluşturmak için Chrome devtools uygulamasını nasıl kullanacağımı öğrenmek istiyorum. Şimdi bunu yapmadan önce Chrome'un geliştirme araçlarının nasıl çalıştığını bulmam gerekiyor.

Lütfen resme dikkat edin. Bütün bu div elemanı engellemek istediğim şey. Ne yazık ki bu div elemanı bir kimliğe sahiptir. Bahsedilen kimlik, sayfayı her yeniden yüklediğinizde değişen sayı ve harflerden oluşan rastgele bir salatadır.

"ID" nin gerçekte ne dendiğini nasıl anlayabilirim, böylece sadece o belirli isim için o özel isim için bir blok kuralı oluşturabilirim?

Bonuspoints bana kuralı nasıl oluşturacağımı gösterebilirseniz: P

Yanıtlar:


0

Eğer Idrastgele her zaman üretilir, bu DOM öğesi için kanca için benzersizdir başka özelliği bulmalıyız. Metin özellikleri mükemmel değildir, çünkü başka hiçbir düğümün filtrelemekte olduğunuz metni kullanmayacağını ve yerel ayara dayalı bir çeviri olmadığını umuyorsunuzdur.

Bunu söyledikten sonra, bu örnekte kullandım çünkü kullandığınız bu AllMusic sitesinde daha iyi bir şey olduğundan emin değilim.

Alt çizgifind işlevini kullanarak , alt düğümlerini seçebilir document.bodyve metinde 'reklam bloğu' içeren ilk düğümü geri döndürebilirsiniz.

var blockElem = _.find(document.body.childNodes, function (elem) { 
    return elem.innerText && elem.innerText.toLowerCase().indexOf("ad block") != -1 }
);

Artık üzerinde işlem yapabileceğiniz (kaldır, gizle, vb.) DOM öğeniz var.

JQueryfilter işlevini kullanarak bir alternatif :

var blockElem = $("body div").filter(function() {
    return $(this).text().toLowerCase().indexOf("ad block") != -1;
}).first();

PS. Bir StackOverflow türünden daha çok soru gibi hissediyorum.


0

Adblock Plus gizleme filtresi iki bölümden oluşur: <domain>##<selector>

  • Etki alanı kısmı, öğelerin gizlenmesi gereken virgülle ayrılmış bir alan listesidir.

  • Seçici kısım hangi elemanların gizlenmesi gerektiğini tanımlar ve CSS Seçici standardını izler . Bu yüzden, nasıl filtre yazılacağını öğrenmek yerine, CSS seçicilerini öğrenmeyi öneriyorum, çünkü bunların nasıl yazılacağına dair pek çok yardımcı kaynak var.

Örneğin, bu durumda, belgenin neresinde olduğuna göre bir öğe seçebileceğinizi bilmek yardımcı olabilir. örneğin body > :nth-child(1)vücuttaki ilk elemanı seçecektir. Daha belirgin seçiciler için, hangi özelliklerin sabit kaldığını ve hangilerinin değiştiğini kontrol etmeniz gerekir.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.