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

hmq*_*esy 20 html firefox unc

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

\\servername\foldername\filename.rtf
Run Code Online (Sandbox Code Playgroud)

看来这样做的正确方法是使用这样的标记:

<a href="file://///servername/foldername/filename.rtf">filename.rtf</a>
Run Code Online (Sandbox Code Playgroud)

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

这在IE7中工作正常,但在Firefox 3.6中,只有当html来自本地文件时才能工作.当文件来自Web服务器时,我无法使其工作.链接是"死" - 点击它什么都不做.

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

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

hmq*_*esy 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://.


Bal*_*usC 11

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

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

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

  • 使用http://提供文档的副本,因此用户无法打开实际文件.因此,如果要链接到希望用户能够编辑的文档,则应使用file://. (2认同)
  • 感谢您的建议,遗憾的是,我有几个原因无法使用Google文档. (2认同)

小智 6

File:\\\\\yourFileServer\docs\doc.txt例如,在Firefox to Open中,您需要在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");
Run Code Online (Sandbox Code Playgroud)


kbr*_*ton 4

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

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

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

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