【发布时间】:2018-01-20 03:13:09
【问题描述】:
我们有一个 Web 应用程序和一个 Windows 桌面应用程序,它们都通过 Web 套接字连接。
当我们使用网络应用程序时,我们必须检查桌面应用程序是否已安装。 如果桌面应用程序未安装(或)它是旧版本,我们需要相应地安装/更新它。
现在的挑战是,我们如何识别桌面应用程序是否已安装。
一种方法是将信息存储在浏览器缓存中。但是我们有以下问题:
- 用户可以清除浏览器缓存。
- 来自同一产品的多个URL,如果我们使用,它会有不同的浏览器缓存。
目前,我们正在使用自定义 URI 方法来启动应用程序。 (使用浏览器缓存)。
注意:我们主要针对 Chrome 和 Firefox。而且我们没有管理员权限来安装桌面应用程序。
你们能帮我们找到正确的解决方案吗?
【问题讨论】:
-
Web 应用程序不应该与操作系统交互。我认为您找不到解决方案,因为浏览器能够访问应用程序或任何类型的操作系统相关信息是一个高安全风险。
-
这是完全错误的,您不能使用 Web 应用程序来检查任何人的 PC 上的任何内容,如果可能的话,甚至没有人会使用浏览器。您的逻辑在这里绝对不正确,而不是让 Web 应用程序检查桌面应用程序的存在,如果桌面应用程序启动,它应该报告为已连接。当它启动时,您说它使用 Web 套接字连接 - 只需通过 Web 套接字通知您的 Web 应用程序桌面正在目标计算机上运行。这在很多层面上都是错误的,但你去吧,这就是你的解决方案。
标签: javascript custom-protocol