以下の内容はhttps://takuya-1st.hatenablog.jp/entry/2023/07/07/142550より取得しました。


ブロッカー独自CSSルール文字列マッチCSSで、特定文字列を持つ要素を消す

CSSには「文字列」にマッチさせる方法がない。

CSS では、textContent にいい感じにマッチさせる方法がない。

xpath ならできる

xpath ならできるんですよね。「おすすめ」というリンク文字列を持つdiv を選ぶ

//div[class='xxx'][ .//a[ contains(. , 'おすすめ') ] ]

広告ブロッカーの独自CSSなら書ける。

CSSではかけなくても、広告ブロッカーが独自拡張しているCSSなら記述できる。

div.xxx:has( a:contains("おすすめ") )

たとえば、以下のように、Adguard では記述できる。 https://github.com/AdguardTeam/ExtendedCss#extended-css-contains

この他にも各種広告ブロッカが切磋琢磨しているので、x:contains文法は、広告ブロッカでは記述できることが多い。ublock 系でも同様の記述ができる。

文字列でマッチさせられて、指定テキストを子要素に持つ( :has )が使えるので、広告ブロッカに自分でルールを考えるのがとても楽になっている。

なんて便利なんだ知らなかったので、いつもXpathで工夫してたよ・・・・

追記

拡張CSSは、動作が不安定(もしかしてページロード時だけ?)なので、CSSで書けるならCSSで頑張ったほうが良い気がする。




以上の内容はhttps://takuya-1st.hatenablog.jp/entry/2023/07/07/142550より取得しました。
このページはhttp://font.textar.tv/のウェブフォントを使用してます

不具合報告/要望等はこちらへお願いします。
モバイルやる夫Viewer Ver0.14