ブラウザ経由でファイルサーバーのディレクトリを開きたい [Firefox内でファイル一覧]

主要なブラウザは、セキュリティの観点からローカルファイルの実行が制限されている。

ファイルサーバーを利用している会社では、ドキュメントやマニュアル、業務文書などを保存して、
随時ファイルサーバーからファイルを参照/利用していたりするが、WEBサーバーのコンテンツ内で、
ファイルの場所を "file:///" でハイパーリンクを貼り、クリックするとファイルやフォルダーが開けていた。
実に便利な機能である。
しかしながら、その機能が上述したブラウザの制限により、動作しなくなっている。

ブラウザ内でファイル/フォルダの一覧を表示させる方法について紹介したい。

〇 Firefox

※ Windows10, Windows11 FireFox 122.0.1 (32 ビット) にて動作確認
Firefoxでは、2通りの設定方法がある。

[方法1] about:config のUIにて設定する

(1) URL入力欄に、about:config と入力後、「エンター」押下

(2) 下記3行を入力する

設定名
capability.policy.policynames localfilelinks
capability.policy.localfilelinks.sites http://192.168.1.81
capability.policy.localfilelinks.checkloaduri.enabled allAccess

2番目の「http://192.168.1.81」 は、file:/// のハイパーリンクを貼るサイトのURLです。
各自の環境に併せて、IPアドレス等を変更してください。
複数台のWEBサーバーで利用する場合は、スペース区切りで入力します。

[方法2] user.js というファイルに以下3行を記入し、FireFoxのプロファイルフォルダへ保存する

(1) プロファイルフォルダを確認する
    URL入力欄で、about:profiles と入力後、「エンター」押下

(2) [ルートディレクトリー] 右の[フォルダを開く] をクリック

(3) このディレクトリ内に "user.js" が無いか確認。(デフォルトは存在しない)

  •  ファイルが存在する場合は、"user.js"を開き、下記3行を追記する。
  •  ファイルが存在しない場合は、テキストエディターなどで下記3行を入力。ファイル名を"user.js" として、保存する。
user_pref("capability.policy.policynames","localfilelinks");
user_pref("capability.policy.localfilelinks.sites","http://192.168.1.81");
user_pref("capability.policy.localfilelinks.checkloaduri.enabled", "allAccess");

2番目の「http://192.168.1.81」 は、file:/// のハイパーリンクを貼るサイトのURLです。
各自の環境に併せて、IPアドレス等を変更してください。
複数台のWEBサーバーで利用する場合は、スペース区切りで入力します。

(4) Firefoxを再起動する。

※ 注意
Firefoxを新規に開く時に"user.js"が読み込まれ、Firefoxを閉じた時に"prefs.js"に保存される。
従って1度読み込ませたら、"user.js"は不要となる。
つまり、設定を削除したいと"user.js"ファイルを削除しても、"prefs.js"に保存されているので設定は消えない。
(Firefox バージョンアップ時等は不明)
設定を削除したい場合は、[方法1]のabout:config UI で設定を削除する必要がある。