如何通过 Javascript 打开 Windows Explorer (Windows+E)?
3 回答
您无法通过 JavaScript 打开 Windows 资源管理器,因为现代 Web 浏览器被锁定以提供对客户端用户硬盘驱动器的几乎零访问。未打补丁的 Internet Explorer 6.0 可以通过在新窗口中浏览file://c:/
.
window.open 不适用于现代浏览器上的本地路径或网络路径,您需要将路径转换为 URL,例如 c:\data 到 file:///C:/Data/ 或者您可以使用 HTML5 功能,如下所示
<pre>
input type="file" name="itemImagePath"
</pre>
在网络浏览器中打开文件夹的另一种方法是:
<pre>
<a href="\\mypc\c:\myfolder">Open folder</a>
</pre>
mypc:您的计算机名称 myfolder:您要打开的文件夹
实现这一点的唯一方法是在客户端的操作系统中注册自定义协议处理程序。之后,与该协议相关的任何链接都将发送到处理程序,该处理程序将打开所需的应用程序。在我们的例子中是 Windows 资源管理器。
通常它应该作为在 BitTorrent 客户端中打开的“磁铁:”链接工作。或者像在邮件应用程序中打开的“mailto:”链接。
如何在 Windows 中注册协议处理程序,您可以在这里找到: Register Custom Handler @ Microsoft
但要小心,让 Windows 资源管理器在不进行任何过滤的情况下打开来自网络的链接并不是很安全。强烈建议编写单独的处理程序来处理链接,过滤掉所有危险部分,然后将准备好的链接传递给操作系统。
因此,毕竟您可以制作每个客户端都必须安装的安装包以使其正常工作,如果该解决方案适用于来自 Intranet 的伙伴,但不适用于 Internet 中的陌生人,那么一切都很好。