Google Chrome浏览器可以打开本地链接吗?


138

我在Intranet页面上链接到共享驱动器上的本地文件:

<a href="file:///s:/test.xls"> Test</a>

这在IE和Firefox中具有称为本地链接的插件。

如何在Google Chrome中打开它?

谢谢


如果您放下file:///钻头会怎样?
尼克·博尔顿

它在其他我没有在chrome中尝试过的浏览器中不起作用。现在将尝试
安迪

1
看来您也应该可以在chrome中打开本地文件。我有一个Z:驱动器,我可以使用file:/// Z:/看到文件夹的内容
dawez 2010年

如果右键单击并“在新选项卡中打开”,则可以执行此操作。邓诺,如果那足够好……
马特

适用于当前铬(32.0.1700.107)的扩展程序位于:code.google.com/p/locallinks
Zane

Answers:


42

出于安全原因file:///,您不能从本身不是HTML文档中链接到file:///


26
可能这是一个“安全漏洞”,但在某些情况下它也提供了必要的功能,Chrome可以使我们能够为某些URL启用它,并发出警告和进行研究以弄清楚如何做到这一点,而不仅仅是禁用它
Arcan.NET 2015年

2
@ Arcan.NET我不同意。这会提倡不良做法,一旦被广泛传播,它又是另一种社会工程学攻击媒介
bytecode77 '18

4
@ bytecode77你有一个好点。但是,我认为仅在某些情况下才是不良做法。例如,如果这是在公司Intranet中具有一组受限的用户,该怎么办?尽管这可能是不好的做法,但是选择滥用功能的人员必须对自己的行为负责,而不是删除有用的协议方案,以使任何人都不能从中受益(也应该适当地使用它)。
鲁克

1
甚至不允许访问带有index.html的本地目录!那怎么会不安全呢?考虑到这一政策,最根本不使用Chrome的方法最安全。

我可以看到此安全漏洞。但这是一个好功能,必须将某些地址列入白名单-甚至只允许Intranet页面-以便受信任的站点可以具有指向文件的链接。例如,我们有一个SSRS报告,其中包含指向共享文件的链接。替代方法如下,来自@Guilherme Amorim,但这导致用户下载文件的无数副本,而不是在共享上打开它们
nonpoliticaltag

21

这个问题已经过时,但是我现在遇到了同样的问题,我发现的解决方案是将IIS中的虚拟目录映射到带有文档的网络驱动器,因此url变成了一个友好的“ http://”地址。

设置虚拟目录:

IIS:

http://www.iis.net/configreference/system.applicationhost/sites/site/application/virtualdirectory

阿帕奇:

http://w3shaman.com/article/creating-virtual-directory-apache

干杯!


谢谢,这极大地帮助了我。这不仅使我可以打开托管在其他服务器上的文件,还可以直接在浏览器中打开它们。
D.Galvez'3

@ D.Galvez很高兴有人使用它。
Guilherme Amorim

这帮助了我!非常感谢
AndeeC

铬是红鲱鱼。解决方案在Apache2中,通过“虚拟目录,如本答案中所述。(我想知道它是否可以解决Firefox。)”
Rick James

谢谢-非常适合我!用户希望通过网络共享查看文件
Cordell'Coffell '18

11

从我所看到的情况来看,以下内容适用于Firefox和Chrome;

1)如果您从远程主机打开了HTML页面,则file://链接不起作用,即您的地址栏读取http://someserver.domain并且该页面包含一个链接,例如<a href="file:///S:/sharedfile.txt">

2)如果您从本地主机打开了HTML页面,则file://链接起作用,即您的地址栏读取file:///C:/mydir/index.html并且该页面包含一个链接,例如<a href="file:///S:/sharedfile.txt">

对于Internet Explorer,点1)不成立。可以使用file://链接语法从远程主机上的网页访问本地主机上的文件。这被认为是IE中的一个安全漏洞(由谁引用?)(而且IE8中也存在),因为远程主机可以在您不知情的情况下访问您本地计算机上的文件 ....诚然,他们必须幸运地使用文件名但是那里有许多通用文件,可能包含个人/私人信息。


12
“来自远程主机的网页可以访问本地主机上的文件”您对此主张有何支持?链接文件和访问文件不是同一回事,因为远程主机无法读取文件并且无法确定文件是否存在。我没有发现骇客吗?
styfle 2014年

1
对我不起作用。我正在Chrome中使用file:///打开本地文件,但它拒绝加载其他本地文件。
mcv

10

现在,本地链接似乎已过时。

LocalExplorer似乎已经取代了它并提供了类似的功能:

https://chrome.google.com/webstore/detail/local-explorer-file-manag/eokekhgpaakbkfkmjjcbffibkencdfkl/reviews?hl=zh-CN

它基本上是一个chrome插件,可以file://localexplorer://链接替换链接,并结合可拦截localexplorer://链接的可安装协议处理程序。

我现在可以找到的最好的东西,我与开发者没有任何关系。


1
谢谢!如果您想从Chrome中的其他协议访问本地文件,则此扩展确实值得。
AstralisSomnium

6

最受欢迎的答案中的LocalLinks扩展对我不起作用(考虑到,我试图使用file://在Windows资源管理器中打开目录,而不是文件),所以我研究了另一种解决方法。我发现此“在IE中打开”扩展名是一个不错的解决方法:https : //chrome.google.com/webstore/detail/open-in-ie/iajffemldkkhodaedkcpnbpfabiglmdi

这不是一个理想的解决方法,因为用户不必单击链接,而是必须右键单击并选择在IE中打开,但这至少会使链接起作用。

不过要注意一件事,在IE10(和某个更新点之后的IE9)中,您将不得不将该站点添加到“受信任的站点”(“ Internet选项”>“安全性”>“受信任的站点”)。如果该站点不在受信任的站点中,则file://链接在IE中也不起作用。


1
我在IE11中看到了相同的行为。您必须添加受信任的站点列表才能使其正常运行。
2015年

插件与最新的Chrome浏览器不兼容
Yannick Smits,2015年

1

这实际上不是一个辅助工具,而是一种使用python在chrome中打开本地链接的解决方法。

复制您要运行的本地链接,然后运行下面的代码(使用快捷方式),它将打开您的链接。

import win32clipboard
import os

win32clipboard.OpenClipboard()
clipboard_data= win32clipboard.GetClipboardData()
win32clipboard.CloseClipboard()

os.system("start "+clipboard_data)

0

我刚刚遇到了同样的问题,并找到了Chrome扩展程序Open IE
那是唯一对我有效的设备(Chrome V46和V52)。唯一的缺点是,您需要安装其他程序,这意味着您需要管理员权限。


1
打开IE将打开IE。为什么不首先使用IE。绝对不是解决方法。
麦克

由于IE已过时,到目前为止还不及FF或Chrome,但还有一些内部应用程序/站点会在IE上产生延迟
Stefan

0

希望这可以帮助企业环境中的其他人寻找解决方案。经过大量修改后,我的解决方案如下:

请按照以下链接中的步骤安装旧版浏览器扩展程序和gpo设置:https : //support.google.com/chrome/a/answer/3019558?hl=zh_CN&ref_topic= 3062034

通过chrome gpo配置为“ file://”启用了旧版浏览器重定向Google Chrome->旧版浏览器支持->“要在其他浏览器中打开的网站”

将gpo配置为也安装扩展程序:https : //chrome.google.com/webstore/detail/enable-local-file-links/nikfmfgobenbhmocjaaboihbeocackld重定向file://链接以绕过chrome file://链接块。

该扩展程序会打开链接,然后触发Google Chrome在Internet Explorer中打开链接。结果是IE打开一个窗口,然后为用户打开文件/文件夹,然后IE关闭自身。


3
链接过期。在此处张贴要点,以确保您的答案将来有用。
ZF007
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.