回答編集履歴

1

追記

2024/09/14 03:28

投稿

FoxRefire
FoxRefire

スコア146

test CHANGED
@@ -5,3 +5,21 @@
5
5
 
6
6
  PS.
7
7
  下の回答者は見るからにAIコピペの間違った回答をしていて何がしたいんだか...笑
8
+
9
+ ### 追記
10
+ 申し訳ありません。下の人のAIコピペ回答にイラっときてしまい質問文を最後まで読まずに回答してしまいました。
11
+ 特定の権限の許可・拒否を拡張機能側で決定したい場合は`chrome.contentSettings.権限名.set()`メソッドを利用できます。
12
+ ただしこちらの場合、ユーザーが設定した許可設定を直接変更するものではないため、質問者さんの意図するものとは少し異なります。またFirefoxでは「chrome.contentSettings」はサポートされていません。
13
+
14
+ 質問者さんが意図することを実行したい場合、私の知る限り、現在はJavascript側だけでは利用できるAPIはないため、少々強引な方法を利用する必要があります。
15
+ chrome.runtime.connectNative()メソッドを利用すればChrome拡張からネイティブアプリケーションを呼び出すことができますので、呼び出されたアプリケーション側でブラウザのユーザープロファイルを編集すれば質問者さんが実現したいことが達成できるかと思います。
16
+ サイトの許可設定はブラウザプロファイル内の次のファイルに格納されています。
17
+ * Chromium
18
+ ```
19
+ /path/to/profile/Preferences
20
+ ```
21
+ * Firefox
22
+ ```
23
+ /path/to/profile/permissions.sqlite
24
+ ```
25
+ まとめると少々面倒ですが、まずブラウザプロファイルを直接書き換えるネイティブアプリケーションを作成し、`chrome.runtime.connectNative()`を利用してそれを拡張機能側から呼び出すといった形で実現できるかと思います。