HTMLのリンクからネットワーク上の共有PC(CIFS)へアクセスしたいという要望があった場合の対処方法を記載します。
HTMLリンクはfile URI形式で設定
UNCパスでは「\\common\dir\test.xls」というエクスプローラでよく見かける記述となりますが、file URIのパスでは「file://///common/dir/test.xls」という記述形式となります。このfile URI形式でHTMLではリンクを設定します。
file URIパスへのリンクが有効になるようにブラウザ毎に設定
メジャーなブラウザ(IE以外)の多くはセキュリティ的観点から、file URIのリンクをクリックしてもリンク先を表示出来ない設定となっています。これを解除するためにはブラウザ毎に対応する必要があります。
Internet Explore
IEの場合、セキュリティ対策が甘いのか何も設定する必要はありません。
Firefox
- 「user.js」ファイルを作成
- FireFoxのプロファイルフォルダへ「user.js」ファイルを配置
- FireFoxを再起動
FireFoxの場合は設定が少し面倒で、プロファイルへ許可するアドレスを追加する必要があります。その設定ファイルをJavaScriptで以下の様に記述します。
1 2 3 |
user_pref("capability.policy.policynames", "localfilelinks"); user_pref("capability.policy.localfilelinks.checkloaduri.enabled", "allAccess"); user_pref("capability.policy.localfilelinks.sites", "http://common.dir.co.jp"); |
※”http://common.dir.co.jp”の箇所 をリンクを許可したいサーバのアドレスへ変更して下さい。複数ある場合はスペースで区切って記述します。
配置先「%AppData%\Mozilla\Firefox\Profiles\(英数字のランダム文字列).default」
※既に「user.js」ファイルが存在している場合は記述を追加して下さい。
FireFoxを再起動すると「user.js」ファイルへ記述した内容が「prefs.js」(Windowsで言うレジストリのようなもの)へ追加されます。