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

在内部网站上,假设我想使用UNC链接到共享上的文件,url为:

\\servername\foldername\filename.rtf 

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

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

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

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

有没有在Firefox这个解决方法? 这两个浏览器应该是我现在需要担心的一切。

由于这显然是Firefox的一个function,不是一个错误,有人可以解释什么是防止这种types的链接的好处?

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

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

您的文件访问原理可能需要适度更改,所以我build议您阅读有关您的特定服务器技术的WebDAV协议,configuration和权限pipe理。

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

  • Apache模块mod_dav
  • IIS 7.0 WebDAV扩展
  • 在IIS 7,6,5中configurationWebDAV服务器

这个问题已经被问过至less两次了,但是在张贴我自己的(对不起)之前我找不到这些post:

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

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

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

  • 使用WebDAV – 这对我来说是最好的解决scheme,虽然比我预想的要多得多。
  • 使用http://而不是file:///// – 这将提供用户无法编辑和保存的文档副本。
  • 按照这里所描述的在客户端上编辑user.js – 这在Firefox 3.6.15中适用于我,但是无法访问客户机,这不是一个解决scheme。
  • 在Firefox中,使用about:config ,将Security.fileuri.strict_origin_policy设置更改为false – 这在3.6.15中对我不起作用。 [SO]上的其他用户也报告说它不起作用。
  • 使用locallinks Firefox扩展 – 这会将 Security.fileuri.strict_origin_policy设置为true,并且似乎没有其他效果。
  • 读取服务器端的文件并将其作为响应发送 – 这performance出与configurationWeb服务器使用http://简单相同的问题。

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

你最好的select是configuration你的networking服务器来提供networking映射文件作为networking资源,这样它就可以通过http://从同一个服务器而不是由file://访问。

由于目前还不清楚您使用的是哪个networking服务器,因此我无法详细了解如何实现此目的。

在Firefox中打开File:\\\\\yourFileServer\docs\doc.txt例如,您需要打开Firefoxconfiguration中的一些选项:

 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"); 

我不知道这是否会起作用,但要一试! 旧文章,但可能仍然有用。

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