在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,那么有人可以解释一下阻止这种类型的链接有什么好处吗?
事实证明,我没有意识到Firefox具有此限制/功能。我对此功能表示同情,因为它可以防止用户无意间访问本地文件系统。幸运的是,有一些有用的替代方法可以在坚持HTTP协议的同时提供类似的用户体验。
通过UNC路径访问内容的一种替代方法是使用WebDAV协议发布内容。某些内容管理系统(例如MS SharePoint)使用WebDAV提供对文档和页面的访问。就最终用户体验而言,它的外观和感觉就像使用UNC路径访问网络文件一样。但是,所有文件交互都是通过HTTP执行的。
它可能需要对文件访问原理进行适度更改,因此,我建议您阅读有关WebDAV协议,配置和权限管理的信息,因为它与您的特定服务器技术有关。