20

イントラネットサイトで、UNCを使用して共有上のファイルにリンクしたいとします。

\\servername\foldername\filename.rtf

これを行う正しい方法は、次のようなマークアップを使用することです。

<a href="file://///servername/foldername/filename.rtf">filename.rtf</a>

これは5つのスラッシュです。2つはプロトコル用で、1つはファイルシステムのルートを示し、さらに2つはサーバー名の開始を示します。

これはIE7では正常に機能しますが、Firefox 3.6では、htmlがローカルファイルからのものである場合にのみ機能します。ファイルがWebサーバーからのものである場合、それを機能させることができません。リンクは「デッド」です-それをクリックしても何も起こりません。

Firefoxでこれを回避する方法はありますか?今のところ心配する必要があるのは、これら2つのブラウザーだけです。

これは明らかにFirefoxの機能であり、バグではないので、誰かがこのタイプのリンクを防ぐことの利点を説明できますか?

4

6 に答える 6

14

この質問は少なくとも2回前に尋ねられましたが、自分の投稿を投稿する前にそれらの投稿を見つけることができませんでした(申し訳ありません):

Firefoxからハードドライブ上の直接ファイルを開きます(file:///)

ローカルページまたはネットワークページへのFirefoxリンクが機能しない

3つの投稿すべてからの回答の要約は次のとおりです。

  • WebDAVを使用する—これは私にとって最良のソリューションですが、予想よりもはるかに複雑です。
  • http://代わりに使用file:///// —これにより、ユーザーが編集および保存できないドキュメントのコピーが提供されます。
  • ここで説明するように、クライアントでuser.jsを編集します。 これはFirefox 3.6.15で機能しましたが、クライアントマシンにアクセスできないため、解決策ではありません。
  • Firefoxでは、about:configを使用し、設定をfalseに変更Security.fileuri.strict_origin_policyします—これは3.6.15では機能しません。[SO]の他のユーザーも、それが機能しないと報告しています。
  • locallinks Firefox拡張機能を使用します—これにより、Security.fileuri.strict_origin_policyがtrueに設定され、他の効果はないように見えます。
  • ファイルサーバー側を読み取り、応答として送信します。これは、を使用するようにWebサーバーを構成するのと同じ問題を引き起こしますhttp://
于 2011-03-17T11:07:35.493 に答える
11

Firefoxのようなブラウザは、親HTMLページ自体がhttp://のような別のプロトコルを使用して提供される場合、file://リンクを開くことを拒否します。

最善の策は、ネットワークマップファイルをWebリソースとして提供するようにWebサーバーを構成して、file://ではなく同じサーバーからhttp://でアクセスできるようにすることです。

使用しているWebサーバーが不明なため、これを実現する方法について詳しく説明することはできません。

于 2011-03-15T20:48:59.220 に答える
7

たとえば、 Firefox to OpenではFile:\\\\\yourFileServer\docs\doc.txt、Firefox構成でいくつかのオプションをオンにする必要があります。

user_pref("capability.policy.policynames", "localfilelinks");
user_pref("capability.policy.localfilelinks.sites", "http://yourServer1.companyname.com http://yourServer2.companyname.com");
user_pref("capability.policy.localfilelinks.checkloaduri.enabled", "allAccess");
于 2012-10-26T09:04:40.833 に答える
4

結局のところ、Firefoxにこの制限/機能があることに気づいていませんでした。ユーザーが無意識のうちにローカルファイルシステムにアクセスするのを防ぐので、私はこの機能に共感することができます。幸いなことに、HTTPプロトコルに固執しながら、同様のユーザーエクスペリエンスを提供できる便利な代替手段があります。

UNCパスを介してコンテンツにアクセスする代わりの方法の1つは、WebDAVプロトコルを使用してコンテンツを公開することです。MS SharePointなどの一部のコンテンツ管理システムは、WebDAVを使用してドキュメントやページへのアクセスを提供します。エンドユーザーエクスペリエンスに関する限り、UNCパスを使用してネットワークファイルにアクセスするのと同じように見えます。ただし、すべてのファイルの相互作用はHTTPを介して実行されます。

ファイルアクセスの考え方を少し変更する必要があるかもしれないので、特定のサーバーテクノロジに関連するWebDAVプロトコル、構成、およびアクセス許可の管理について読むことをお勧めします。

いくつかの主要なHTTPサーバーでのWebDAVの構成と使用について詳しく知りたい場合に役立つ、いくつかのリンクを次に示します。

于 2011-03-16T13:00:21.693 に答える
2

独自のポリシーを追加し、ロケーションバーで構成 " about:config "を開き、次の3つの新しいエントリを追加します。

  • ability.policy.policynames MyPolicy
  • ability.policy。MyPolicy .sites http:// localhost
  • ability.policy。MyPolicy .checkloaduri.enabled allAccess

ここに画像の説明を入力してください

http://localhostをWebサイトに置き換えます。
Firefox70.0で動作します。

于 2019-10-29T10:57:43.763 に答える
1

これがうまくいくかどうかはわかりませんが、試してみてください。古い記事ですが、まだ役立つ可能性があります。

http://www.techlifeweb.com/firefox/2006/07/how-to-open-file-links-in-firefox-15.html

于 2011-03-15T20:53:23.087 に答える