主要なブラウザは、セキュリティの観点からローカルファイルの実行が制限されている。
ファイルサーバーを利用している会社では、ドキュメントやマニュアル、業務文書などを保存して、
随時ファイルサーバーからファイルを参照/利用していたりするが、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 で設定を削除する必要がある。