質問: chrome拡張機能についての質問です。
回答: 【ブラウザーでの対策】 自分の過去回答のコピペですが、参考になるかと思います。(↓) ■■■【過去回答】■■■ 自分は「Firefox (Windows・Android)」・「Waterfox (Windows)」・「Google Chrome (Windows)」に「uBlock Origin」をインストールして、フィルターリスト複数購読かつ自作フィルター追加で使用しています。 ※「uBlock Origin」が開発・公開される前までは、「Adblock Plus」を使用していました。 低メモリ使用量(軽量)・独自フィルターオプションやフィルター記法の豊富さ(高カスタマイズ性・詳細な条件指定が可能)・厳格なブロック機能(特定のサイトへのアクセス自体をブロック)など個人的には、「Adblock Plus」よりも「uBlock Origin」の方が高性能・高機能だと思います。 自作フィルターでよりカスタマイズ(詳細な条件指定など)したい場合は、独自フィルターオプションやフィルター記法などが豊富なので、慣れ・覚えることはありますが、その分色々でき、慣れて使えるようになったときに、「Adblock Plus」に戻ることはないなと思いました。 基本的なフィルターリストはインストール時から有効になっているので、基本動作は問題ないですが、購読しているフィルターリストのフィルターが必要な部分もブロック・非表示している場合(誤爆)は、自作フィルターで許可指定(ホワイトリスト)する必要があります。 ブロック/非表示にしたい広告/要素が購読したフィルターリストのパターンにあれば対応できます。パターンにない場合は自作フィルターで対応できます。広告のURLに共通部分や特徴があれば、「*(ワイルドカード)」や「正規表現」、特に「正規表現」が役に立つので、「正規表現」は覚えていて損はないですよ。文字列やテキストファイルなどで重宝します。 基本的に「日本国内向けと海外向けのフィルターリスト複数購読」した上で、それらフィルターをすり抜けたものを「独自フィルターオプション」・「文字列」・「*(ワイルドカード)」・「正規表現」を組み合わせて「自作フィルター」で対応するやり方です。 どのフィルターリストを購読(有効)するかは、ユーザーによって異なるので具体的な回答は難しいです。また、広告ブロック拡張機能のデメリットとして、フィルターを追加すればするほど、パフォーマンス(ブラウザーの動作・起動速度など)が低下しますし、必要なものまでブロック・非表示される(誤爆)可能性もあります。ですが、最近の広告はとても悪質(迷惑・危険)なものも世界中で増加していますし、ブラウザー自体も高速化されているので、自分はデメリット承知の上で色々追加しています。個人的にはブラウザーの起動速度以外はあまり気になりません。広告ブロック・要素非表示というメリットの方が大きいと思います。 ・ネット広告を表示しただけでウイルス感染のワケ | トレンドマイクロ is702 https:// www.is702.jp/special/1794/ 「uBlock Origin」・「Adblock Plus」ともにインストールしていても、フィルターがなければインストールしていないのと同じです。フィルターの基本構文は「uBlock Origin」・「Adblock Plus」ともに同じです。 ▼-----以下、「uBlock Origin」公式サイトから(Google 翻訳)-----▼ uBlock Origin( "uBO")はAdblock Plus( "ABP")フィルター構文をサポートしているため、Adblock Plus WebサイトおよびABPのフィルターチートシートから既存のフィルター構文ドキュメントを参照できます。 概要については、このWikiの「基本的なフィルタリング構文の概要」を確認することもできます。 ただし、uBOは非常に特殊なケースをサポートせず、独自の拡張機能をABPフィルター構文に追加します(これは、執筆時点ではABPによって認識されていません)。 ここでは、ほとんどの驚くべきケースが文書化されています。 ▲-----終わり-----▲ ===== サイト/ページによって「作り」・「リクエストの有無」・「要素(タグ名・属性名・属性値・タグ内テキスト)」などが異なるので、詳しい回答は難しいですが・・・ ★広告ブロックフィルター (+ 独自フィルターオプション有無) ●ドメイン指定 → [例]「||xxx.xxx^」 ●完全一致指定 → [例]「||xxx.xxx/ads.js」 ●前方一致指定 → [例]「|https://xxx.xxx/」 ●後方一致指定 → [例]「/ads.js|」 ●部分一致指定 → [例]「/ads.js」 ●ワイルドカード指定 → [例]「||*.xxx/*.js」・「/*.js」 ●正規表現指定 → [例]「/https?:\/\/xxx\.xxx\/ads?\.js/」 ※「独自フィルターオプション追加」で、コンテンツ指定が可能 ※すべてのコンテンツ指定は「$all」オプション追加 ※フィルター例外指定は先頭に「@@」追加 ※フィルター無効指定は「$badfilter」オプション追加 ※例外指定無視は「$important」オプション追加 ※指定ドメインでのみフィルター有効は「$domain=」オプション追加(「|」区切りで複数ドメイン指定可能) など ★要素非表示フィルター (+ 独自フィルターオプション有無) ●タグ名指定 → [例]「ドメイン##img」 ●class属性指定 → [例]「ドメイン##.xxx」 ●id属性指定 → [例]「ドメイン###xxx」 ●要素の属性名指定 → [例]「ドメイン##img[src]」 ●要素の属性値指定(完全一致) → [例]「ドメイン##img[src=""]」 ●要素の属性値指定(前方一致) → [例]「ドメイン##img[src^=""]」 ●要素の属性値指定(後方一致) → [例]「ドメイン##img[src$="/xxx.jpg"]」 ●要素の属性値指定(部分一致) → [例]「ドメイン##img[src*="xxx.xxx/"]」 ●要素の属性値指定(前方後方一致) → [例]「ドメイン##img[src^="https://"][src$=".jpg"]」 ●要素(タグ内)のテキスト指定(プレーンテキスト) → [例]「ドメイン##span:has-text(テキスト)」 ●要素(タグ内)のテキスト指定(正規表現) → [例]「ドメイン##span:has-text(/(A|B|C)/)」 ●タグ内に指定テキストを持つ子要素Bを持つ親要素Aを指定 → [例]「ドメイン##p:has(span:has-text(テキスト))」 ●タグ内に指定テキストを持つ子要素Bを直接子に持つ親要素Aを指定 → [例]「ドメイン##p:has(> span:has-text(テキスト))」 ●タグ内に指定テキストを持つ子要素Bを持つ親要素AのN番目上の親/祖先要素を指定 → [例]「ドメイン##p:has(span:has-text(テキスト)):upward(N)」 ●タグ内に指定テキストを持つ子要素Bを直接子に持つ親要素AのN番目上の親/祖先要素を指定 → [例]「ドメイン##p:has(> span:has-text(テキスト)):upward(N)」 ※例外指定は「##」→「#@#」 など 他にも組み合わせパターンは色々ありますが、↑のようなブロック/非表示方法があります。 ※「広告ブロックフィルター」は通信自体をブロックするので問題ありませんが、「要素非表示フィルター」はあくまで、「非表示」なので一瞬表示→非表示の場合があります。(別のフィルターパターンで対処) ===== ★uBlock Origin - Firefox (ja) 向け拡張機能を入手 ★uBlock Origin - Chrome ウェブストア ★「広告ブロック・uBlock Origin 関係」の自分の過去回答 https:// detail.chiebukuro.yahoo.co.jp/qa/question_detail/q10218926835 https:// detail.chiebukuro.yahoo.co.jp/qa/question_detail/q13218015543 ★「uBlock Origin」使い方 http:// a-kuma3.hatenablog.com/entry/ublock_origin_again_at_firefox https:// wikiwiki.jp/firefox/Ext/view/uBlock%20Origin https:// github.com/gorhill/uBlock/wiki