如何使用Javascript打开Windows资源管理器(Windows+E)

3
你如何通过 JavaScript 打开 Windows Explorer (Windows+E)?

1
为什么你想要这样做呢? - Naftali
4
这段 JavaScript 会运行在哪里? - Pointy
2
我不知道是谁投票关闭了这个问题 - 这是一个真正的问题。它是一个有简单答案的问题:它是不可能的,但仍然是一个问题。 - Jamie Wong
3个回答

6

您无法通过JavaScript打开Windows Explorer,因为现代Web浏览器被锁定以提供几乎零访问客户端用户硬盘的功能。未打补丁的Internet Explorer 6.0版本可以通过在新窗口中浏览file://c:/来访问Windows Explorer。


1

现代浏览器中,window.open无法使用本地路径或网络路径,您需要将路径转换为URL,例如将c:\data转换为file:///C:/Data/,或者您可以使用HTML5功能,如下所示:

<pre>
input type="file" name="itemImagePath" 
</pre>

另一种在 Web 浏览器中打开文件夹的方式是:

<pre>
<a href="\\mypc\c:\myfolder">Open folder</a>
</pre>

mypc:您的计算机名称 myfolder:您想要打开的文件夹


0

实现这一点的唯一方法是在客户端操作系统中注册自定义协议处理程序。 之后,任何与该协议相关的链接都将被发送到处理程序,该处理程序将打开所需的应用程序。在我们的情况下是Windows资源管理器。

通常它应该像打开BitTorrent客户端中的“磁力链接:”或打开邮件应用程序中的“mailto:”链接一样工作。

如何在Windows中注册协议处理程序,请参见此处: Register Custom Handler @ Microsoft

但要小心,让Windows资源管理器在没有任何过滤的情况下打开来自网络的链接并不安全。强烈建议编写单独的处理程序,以处理链接,过滤掉所有危险部分,然后将准备好的链接传递给操作系统。

因此,最终您可以制作安装包,每个客户端都必须安装才能使其正常工作,如果该解决方案是针对内部网络的同事,则一切都很好,但不适用于互联网上的陌生人。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接