如何通过点击任何链接打开本地文件夹视图?
我尝试了很多选项,比如
<a href="file:///D:/Tools/">Open folder</a>
或
<a onclick="file:///D:/Tools/">Open folder</a>
或
<a onclick="window.open(file:///D:/Tools/)">Open folder</a>
答案 0 :(得分:37)
以下适用于所有浏览器,但一如既往需要注意。
<强>背景强>
“URL快捷方式”取决于操作系统。由于环境之间缺乏标准,以下解决方案适用于MS Windows。
如果您需要Linux支持以下解决方案,请参阅此article *我与文章YMMV无关。
网址快捷方式有两种形式:
扩展名为.URL的文件是基于文本的。可以动态生成。
[InternetShortcut]
URL =文件:/// d:/
扩展名为.LNK的文件是二进制文件。它们可以动态生成,但需要iShelLinkInterface实现。默认的操作系统限制很复杂,这会限制IIS进程到达Shell。
.URL是推荐的解决方案,因为动态生成在Web Languages / Frameworks中是可行的,并且允许KISS实现。
<强>概览/回顾:强>
<强>解决方案:强>
提供可下载的链接(.URL或.LNK)到资源。浏览器行为将在帖子结尾解释。
选项1:生成.lnk文件并将其保存到服务器。由于.LNK文件的二进制特性,这不是推荐的解决方案,但预生成的文件应该是可行的。
选项2:生成.url文件,并将其保存到服务器或动态生成
它。在我的情况下,我正在动态创建.URL文件。
解决方案详情(.URL):
将.url添加到Web服务器中的可用MIME类型。
对于IIS打开网站,选择MIME类型,并添加以下内容:
文件名Extension = .url
MIME类型:application / internet-shortcut
Per @cremax ... 对于像Apache服务器上的Chrome这样的Webkit浏览器,将此代码添加到.htaccess或http.config:
SetEnvIf Request_URI“.url $”requested_url = url Header add Content-Disposition“attachment”env = requested_url
.url文件是一个格式如下的文本文件(同样,这可以动态生成)。
文件内容:
[InternetShortcut]
URL =文件:/// d:
提供指向生成.url文件的脚本或文件本身的链接。
如果您只是将.url文件上传到服务器,请将以下内容添加到您的HTML中:
<a href="URIShortcut.url">Round-About Linking</a>
浏览器依赖行为
Chrome :下载/保存file.url然后打开
在Chrome中,可以通过选择“始终打开此类型的文件”选项来增强此行为。
FireFox :下载/保存file.url然后打开
Internet Explorer :点击“打开”直接进入目录(无需保存快捷方式)
Internet Explorer具有首选行为,但Chrome和Firefox 至少是有用的。
答案 1 :(得分:28)
由于安全限制,所有现代浏览器都禁用了与本地资源的链接。
出于安全考虑,Mozilla应用程序会阻止从远程文件到本地文件(和目录)的链接。这包括链接到硬盘驱动器上的文件,映射的网络驱动器上以及可通过统一命名约定(UNC)路径访问的文件。这可以防止许多不愉快的可能性,包括:
- 通过检查默认安装路径允许站点检测操作系统
- 允许网站利用系统漏洞(例如,Windows 95/98中的C:\ con \ con)
- 允许网站检测浏览器偏好设置或读取敏感数据
for IE:
Internet Explorer 6 Service Pack 1(SP1)不再允许从Internet区域浏览本地计算机。例如,如果Internet站点包含指向本地文件的链接,则当用户单击该链接时,Internet Explorer 6 SP1将显示空白页。以前版本的Windows Internet Explorer遵循指向本地文件的链接。
for Opera(在安全公告的背景下,我确信有一个更为规范的链接):
作为安全预防措施,Opera不允许网页链接到用户本地磁盘上的文件
答案 2 :(得分:4)
只有IE6-8 - 在JavaScript中有一个ActiveX解决方案来解决这个本地文件问题:
function OpenImage(filePath)
{
var myshell = new ActiveXObject("WScript.shell");
myshell.run(filePath, 1, true);
}
答案 3 :(得分:2)
你可以使用
<a href="\\computername\folder">Open folder</a>
在Internet Explorer中
答案 4 :(得分:2)
添加点击打开本地目录或本地文件到谷歌浏览器:
JFish222的解决方案有效(URL文件解决方案)
对于像Apache服务器上的Chrome这样的Webkid浏览器,只需添加.htaccess o http.config这段代码:
SetEnvIf Request_URI“.url $”requested_url = url 标题添加Content-Disposition“attachment”env = requested_url
通过url文件的第一个downlod,点击chromes downloadbar中的文件,然后选择“始终打开此文件”。
答案 5 :(得分:-1)
本地浏览器-网络浏览器扩展中的文件管理器可以解决Chrome问题
但仍然存在一些编码问题
答案 6 :(得分:-3)
URL指定要嵌入到iframe中的文档的URL。 可能的值:
绝对URL-指向另一个网站(例如src =“ http://www.example.com/default.htm”) 相对网址-指向网站中的文件(例如src =“ default.htm”)