web-dev-qa-db-ja.com

adblockカスタムフィルタリングで類似のドメインを照合する方法

ドメイン名を徐々に増やしていくウェブサイトにアクセスしています。

http://mywebsite100.com/

その後

http://mywebsite101.com/

等々...

今後のすべてのドメイン名で広告をブロックするルールを作成しましたが、adblockはそのような構文を受け入れませんでした。

mywebsite*.com##UL[class="myclass"]

adblockカスタムフィルタリングのドキュメントは次のとおりです。 https://adblockplus.org/en/filters

1
afterburner

Adblock Plusフィルターは、ブロックする対象を選択するパターンと、フィルターを適用するドメインのリスト(指定できる他の多くのオプションの中で)の2つの部分で構成されています。

リクエストブロッキングフィルターは正規表現を定義できます

例えば/^http:\/\/mysite\d+\.com\/$domain=example.com

要素非表示フィルターはCSSセレクターを使用します

例えばexample.com##a[href^="http://mysite"][href*=".com"]

ドメインリスト(この場合は「example.com」)は静的である必要があることに注意してください。したがって、このようなドメインの要素を非表示にする最善の方法は、ドメインcomに制限し、CSSセレクターをできるだけ具体的にして、ターゲットにするページにのみ一致するようにすることです。

2
greiner

このhttp:// mywebsite\d + .com /をJavaScript正規表現で試してください。ええ、私も試してみました。有効ですが、何もしないようです。フィルタにすべての数値を含める必要があると思います。私がこれを言う理由は、ABPが使用しているリストには、Amazon.comなどのさまざまな国のドメインをすべてリストする必要があるためです。世界のさまざまな国コードのendeauのように。これらのブロッキングサイトの多くには多くのデータが含まれていることに気付きました。正規表現が許可されていても、これらのファイルにはまだ多くのデータがあります。

おそらく、コードのドメイン部分で正規表現文字を使用できないという事実と関係があります。

以下のMicrosoftの記事は、ドメイン部分での*の無効な使用の例を示しています。記事に記載されているように、2番目のものは無効です。「ワイルドカードはドメインルールのドメイン部分で使用されているため」(1)

+ d contoso.com substring + d contoso。com substring

(1) https://msdn.Microsoft.com/en-us/library/hh273399(v = vs.85).aspx#creatingtpls

1
Noshad Chaudhry