首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >我可以从web应用程序中打开Windows Explorer窗口吗?

我可以从web应用程序中打开Windows Explorer窗口吗?
EN

Stack Overflow用户
提问于 2013-10-02 15:25:26
回答 2查看 6.8K关注 0票数 3

我为我的一个客户构建了一个CRM,现在他们要求提供一个有趣的特性:

对于每个客户记录,他们在本地计算机上有一个匹配的文件目录。他们希望能够直接在web应用程序中打开Windows Explorer中的文件夹(该应用程序不需要访问目录/文件,只要启动Windows Explorer,用户就可以与他们的文件进行交互)。

显然,在浏览器中运行常规JavaScript是不可能的(谢天谢地)。我认为通过为此目的构建一个Chrome扩展可能会有一些方法来实现这一点,但是Chrome扩展/应用程序似乎只能访问沙箱文件系统,这根本满足不了我的需要。在不可能的因为Chrome停止了对NPAPI的支持中构建一个NPAPI插件。

文件URI也解决不了这个问题。它们的显示很难看,没有拖放,没有大图标/缩略图,没有排序等等,他们想要Windows资源管理器的全部功能。

我想到的唯一可行的选择是创建本地node.js服务器,向该服务器发出本地主机CORS请求,然后从节点运行exec命令。

有什么更好的主意吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-10-02 15:48:07

一种可能的方法是向用户的操作系统注册自定义URI协议处理程序,然后您的网页可以使用您的自定义协议(如openfolder://c/path/to/folder )包含链接,这类定制可能在itunes://链接的实践中最常见。

一个快速的谷歌搜索引导我到了这个体面的教程:https://support.shotgunsoftware.com/hc/en-us/articles/200213756-How-to-launch-external-applications-using-custom-protocols-rock-instead-of-http-

缺点是,用户将不得不运行某种类型的小型安装程序,以便设置正确的注册表项(或其他OSes的非Windows等效项),并将一个小脚本放到磁盘上。不过,这将比您建议的运行node.js服务器的重量轻得多。

链接教程使用Python脚本,但即使这样也可能会对您的需求造成太大的影响。批处理文件可能就足够了。

编辑:另外一个注意事项,请注意实现这样的自定义处理程序的安全性问题。任何浏览器中的任何网页都可能利用您的自定义协议,攻击者将能够将任意数据传递给您的脚本。您应该采取步骤,确保脚本不会意外执行恶意网页可能注入的任意命令,并且只会打开文件夹,而不会打开任何其他内容。

票数 3
EN

Stack Overflow用户

发布于 2013-10-02 15:35:08

这将要求每个客户运行一台node.js服务器,这在您的情况下似乎是不现实的。

你可以用文件URI

默认情况下,浏览器将拒绝打开它们。但是,正如建议的在这个答案中,您可以要求您的客户安装LocalLinks

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19140623

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档