20

在 Intranet 站点上,假设我想使用 UNC 链接到共享上的文件,地址为:

\\servername\foldername\filename.rtf

似乎正确的方法是使用这样的标记:

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

那是五个斜杠 - 两个用于协议,一个表示文件系统的根目录,然后还有两个表示服务器名称的开始。

这在 IE7 中运行良好,但在 Firefox 3.6 中,它仅在 html 来自本地文件时才有效。当文件来自网络服务器时,我无法让它工作。该链接是“死的” - 点击它什么都不做。

在 Firefox 中是否有解决方法?这两个浏览器应该是我现在需要担心的全部。

由于这显然是 Firefox 的一个功能,而不是一个错误,有人可以解释阻止这种类型的链接有什么好处吗?

4

6 回答 6

14

这个问题之前至少被问过两次,但在发布我自己的帖子之前我无法找到这些帖子(对不起):

从 firefox (file:///) 打开硬盘驱动器上的直接文件

Firefox 到本地或网络页面的链接不起作用

以下是所有三个帖子的答案摘要:

  • 使用 WebDAV——这对我来说是最好的解决方案,尽管比我预期的要复杂得多。
  • 使用http://代替file:///// - 这将提供用户无法编辑和保存的文档副本。
  • 按照此处所述在客户端上编辑 user.js  — 这在 Firefox 3.6.15 中对我有用,但无法访问客户端计算机,这不是解决方案。
  • 在 Firefox 中,使用about:config,将Security.fileuri.strict_origin_policy设置更改为 false — 这在 3.6.15 中对我不起作用。[SO] 上的其他用户也报告说它不起作用。
  • 使用locallinks Firefox 扩展——这Security.fileuri.strict_origin_policy会为您设置为 true,并且似乎没有其他效果。
  • 在服务器端读取文件并将其作为响应发送——这与简单地将 Web 服务器配置为使用http://.
于 2011-03-17T11:07:35.493 回答
11

当父 HTML 页面本身使用不同的协议(如 http://)提供服务时,Firefox 等浏览器拒绝打开 file:// 链接。

最好的办法是配置您的网络服务器以将网络映射文件作为网络资源提供,以便可以通过 http:// 从同一服务器访问它,而不是通过 file://。

由于不清楚您使用的是哪个网络服务器,因此我无法详细说明如何实现这一点。

于 2011-03-15T20:48:59.220 回答
7

例如,在 Firefox to OpenFile:\\\\\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 路径访问内容的一种替代方法是使用WebDAV协议发布您的内容。一些内容管理系统,例如 MS SharePoint,使用 WebDAV 来提供对文档和页面的访问。就最终用户体验而言,它的外观和感觉就像使用 UNC 路径访问网络文件一样;但是,所有文件交互都是通过 HTTP 执行的。

它可能需要对您的文件访问理念进行适度更改,因此我建议您阅读与您的特定服务器技术相关的 WebDAV 协议、配置和权限管理。

如果您有兴趣了解有关在一些领先的 ​​HTTP 服务器上配置和使用 WebDAV 的更多信息,这里有一些链接可能会有所帮助:

于 2011-03-16T13:00:21.693 回答
2

添加您自己的策略,在位置栏中打开配置“ about:config ”并添加三个新条目:

  • 能力 .policy.policynames MyPolicy
  • 能力.政策。MyPolicy .sites http://localhost
  • 能力.政策。MyPolicy .checkloaduri.enabled allAccess

在此处输入图像描述

http://localhost替换为您的网站。
适用于 Firefox 70.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 回答