2009-08-10 50 views
14

我想从网页链接到本地​​文件系统上的文件,并使其适用于所有浏览器(或至少在Internet Explorer,Firefox和Chrome中)。跨浏览器链接到本地​​系统上的文件

例如,在Internet Explorer中的以下工作:

<a href="\\myserver\doc\info.pdf">Info here</a> 

,但不能在Firefox和Chrome。

有没有办法让一个链接适用于所有的浏览器?

或者使用javascript来检测它是哪个浏览器,然后根据文件名显示相应的链接?

+1

这不是纯粹的猜想,但是从网络共享从本地文件系统“下载”的文件通常具有与从网络服务器下载的文件不同的安全属性。这可能被视为一种规避安全的方式,在其他浏览器中可能完全不允许。 – 2009-08-10 12:26:21

回答

16

链接到本地​​文件在页面上通过HTTP(S)检索到在Mozilla/Firefox中都刻意禁止,因为他们可以是一个安全隐患,并有过去曾被用于攻击。

但是,您可以重写此行为。有关详细信息,请参见MozillaZine中的this article

+0

很老,但无论如何,因为我有这个问题:为什么这是一个安全问题?与通过HTTP下载相同文件相比,为什么它更成为一个问题? – Rafiki 2017-11-24 09:20:38

+0

@Rafiki:链接的文章列出了一些风险。如果你想知道更多,这听起来像是一个很好的新问题。考虑在https://security.stackexchange.com/上提问。 – sleske 2017-11-24 09:38:15

8

尝试用文件前缀的网址:///

+2

您还需要将反斜杠转换为正斜杠,因此您的示例应该是file://///myserver/doc/info.pdf。这在sleske在他的回答中给出的链接中包含。 – Cahlroisse 2009-08-10 12:35:04

相关问题