マイクを使用してアニメーションを生成するWebページを開発しています。プライバシー上の懸念から、FireFoxはユーザーにマイクアクセス許可を求める必要があることを理解しています。ただし、開発者として、ページを更新するたびに「許可」を押すのは非常に面倒です。
「この決定を記憶する」オプションがあるようですが、コンテンツが安全な(https)接続ではなくlocalhost
経由で提供されているため、これを使用できません。
Your connection to this site is not secure. To protect you, Firefox will only allow access for this session.
[設定]で許可されているWebサイトのリストにlocalhost
を追加しようとしましたが、それでも問題は解決しません。
このセキュリティ機能を上書きする方法はありますか?これは悪意のあるWebサイトからユーザーを保護するための優れた機能であることを理解していますが、これはlocalhost
であり、私だけが見ることができます。
はい、これは一種の可能性があります 関連する質問への別の回答で説明されています。
ステップ
about:config
に移動しますmedia.navigator.permission.disabled
をtrueに設定しますただし、これにより、任意のWebサイトがプロンプトなしでカメラとマイクにアクセスできるようになります
私の知る限り、あなたはできません。ブロックの正確な理由はgetUserMedia.reasonForNoPermanentAllow.insecure
と呼ばれます。したがって、それを微調整/スプーフィングできない限り、何らかの方法で唯一のオプションは、Firefoxをソースから再コンパイルすることです。
変更が必要なコードは ここ にあります。
// Don't offer "always remember" action in PB mode.
if (!PrivateBrowsingUtils.isBrowserPrivate(aBrowser)) {
// Disable the permanent 'Allow' action if the connection isn't secure, or for
// screen/audio sharing (because we can't guess which window the user wants to
// share without prompting).
let reasonForNoPermanentAllow = "";
if (sharingScreen) {
reasonForNoPermanentAllow = "getUserMedia.reasonForNoPermanentAllow.screen3";
} else if (sharingAudio) {
reasonForNoPermanentAllow = "getUserMedia.reasonForNoPermanentAllow.audio";
} else if (!aRequest.secure) {
reasonForNoPermanentAllow = "getUserMedia.reasonForNoPermanentAllow.insecure";
}
options.checkbox = {
label: stringBundle.getString("getUserMedia.remember"),
checkedState: reasonForNoPermanentAllow ? {
disableMainAction: true,
warningLabel: stringBundle.getFormattedString(reasonForNoPermanentAllow,
[productName])
} : undefined,
};
}