Firefox中的href =“file:///// ...”的解决方法

时间:2011-03-15 20:46:05

标签: html firefox unc

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

\\servername\foldername\filename.rtf

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

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

这是五个斜杠 - 两个用于协议,一个用于指示文件系统的根,另外两个用于指示服务器名称的开头。

这在IE7中工作正常,但在Firefox 3.6中,只有当html来自本地文件时它才有效。当文件来自Web服务器时,我无法使其工作。链接“死了” - 点击它什么也没做。

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

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

6 个答案:

答案 0 :(得分:12)

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

Open a direct file on the hard drive from firefox (file:///)

Firefox Links to local or network pages do not work

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

  • 使用WebDAV - 这对我来说是最好的解决方案,尽管比我预期的要多得多。
  • 使用http://代替file:///// - 这将提供用户无法编辑和保存的文档副本。
  • 按照here所述在客户端上编辑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,并且似乎没有其他效果。
  • 读取文件服务器端并将其作为响应发送 - 这与仅使用http://配置Web服务器存在同样的问题。

答案 1 :(得分:11)

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

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

由于目前还不清楚您使用的是哪个网络服务器,因此无法详细说明如何实现此目标。

答案 2 :(得分:5)

例如,在Firefox中打开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");

答案 3 :(得分:4)

事实证明,我不知道Firefox有这个限制/功能。我可以同情这个功能,因为它可以防止用户无意中访问本地文件系统。幸运的是,有一些有用的替代方案可以在坚持使用HTTP协议时提供类似的用户体验。

通过UNC路径访问内容的另一种方法是使用WebDAV协议发布您的内容。某些内容管理系统(如MS SharePoint)使用WebDAV提供对文档和页面的访问。就最终用户体验而言,它的外观和感觉就像访问具有UNC路径的网络文件一样;但是,所有文件交互都是通过HTTP执行的。

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

如果您有兴趣了解有关在几个领先的HTTP服务器上配置和使用WebDAV的更多信息,可以使用以下链接:

答案 4 :(得分:1)

我不知道这是否有效,但请试一试!旧文章,但可能仍然有用。

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

答案 5 :(得分:0)

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

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

enter image description here

http://localhost替换为您的网站。
适用于Firefox 70.0。