在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:///)
以下是这三篇文章的答案摘要:
http://
而不是file://///
- 这将提供用户无法编辑和保存的文档副本.Security.fileuri.strict_origin_policy
设置更改为false - 这在3.6.15中对我不起作用.[SO]上的其他用户也报告说它不起作用.Security.fileuri.strict_origin_policy
为您设置为true,并且似乎没有其他效果.http://
.Bal*_*usC 11
当使用不同的协议(如http://)提供父HTML页面本身时,Firefox等浏览器拒绝打开file://链接.
最好的办法是配置您的Web服务器以将网络映射文件作为Web资源提供,以便http://可以从同一服务器而不是file://访问它.
由于目前还不清楚您使用的是哪个网络服务器,因此我无法详细说明如何实现这一目标.
小智 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)
事实证明,我不知道 Firefox 有这个限制/功能。我可以理解这个功能,因为它可以防止用户无意中访问本地文件系统。幸运的是,有一些有用的替代方案可以在坚持 HTTP 协议的同时提供类似的用户体验。
通过 UNC 路径访问内容的一种替代方法是使用WebDAV协议发布内容。某些内容管理系统(例如 MS SharePoint)使用 WebDAV 提供对文档和页面的访问。就最终用户体验而言,它看起来和感觉就像使用 UNC 路径访问网络文件一样;但是,所有文件交互都是通过 HTTP 执行的。
它可能需要对您的文件访问理念进行适度的改变,因此我建议您阅读有关 WebDAV 协议、配置和权限管理的内容,因为它与您的特定服务器技术相关。
如果您有兴趣了解有关在一些领先的 HTTP 服务器上配置和使用 WebDAV 的更多信息,以下一些链接可能会有所帮助:
归档时间: |
|
查看次数: |
93657 次 |
最近记录: |