Chromeの拡張機能を特定のサイト(localhost)で無効化する
はじめに
Chromeの拡張機能は開発者にとって実に便利な機能を提供してくれます
しかし、時には開発環境との兼ね合いで、致命的ではないエラーを投げて開発者を苦しめることもあります(しかも往々にしてエラー文言が分かりづらかったり、検索しても良い記事にヒットしなかったり...)
筆者は長らくエラーを吐かれ続けた結果、「もうlocalhostでだけ無効化すればよいのでは...?」と過激な思想に染まってしまうのでした
この記事はその備忘録になります
具体的な手順
① Experiments Flagを有効化する
まずは、Chromeの検索欄に以下の文字列を入れて Experiments Flag の設定ページに移動します
chrome://flags/#extensions-menu-access-control
一番上に extensions-menu-access-control の項目が表示されるばずなので、有効化しましょう
その後、Chromeの再起動が求められるので実行します
Experiments Flag とは?
Chromeブラウザが提供している実験的な機能になります。
下記の通り、詳細を調べずに設定を変更すると、セキュリティ上リスクになる場合もあるので変更は慎重に...
Warning: Experimental features ahead! By enabling these features, you could lose browser data or compromise your security or privacy. Enabled features apply to all users of this browser. If you are an enterprise admin you should not be using these flags in production.
② 任意のサイトで拡張機能を無効化する
この状態で任意のサイト(今回はlocalhost)にアクセスすると、タブの右端に表示される拡張機能のアイコンが少し変わっていることに気づくと思います
クリックすると、以下の画像のように拡張機能ごとの権限情報が見られるようになります
もしすべて無効化したいのであれば、「[ドメイン名] で拡張機能を許可する」の右のトグルボタンをOFFにし、ページを再読み込みすれば完了です
まとめ
案外、調べても良い方法がパッと見つからなかったので、備忘録として残しておきます。
(拡張機能ごとの設定でポチポチやるのはとても面倒なので...)
今回利用した extensions-menu-access-control は Chrome 133.0.6860.0 以降(現在は Chrome Canary で利用可能)にてデフォルトで有効化されるようですので、いずれこの記事も不要になります。それまでのつなぎとして有効化しておくといいのかな〜と思います。
もし同じことで詰まっている方がいらっしゃれば少しでも助けになれば幸いです!
Happy Hacking!
Discussion