
1 ysc3839 2021-09-02 11:54:42 +08:00 MisPlatform.exe 启动后在某端口启动 http server,然后前端页面尝试向这个端口发请求,请求成功说明已经运行了。 |
2 Corua 2021-09-02 15:29:00 +08:00 via Android 自定义一个 url schemes 可以直接调用本地程序,同时也能传递数据。 |
3 rationa1cuzz OP |
4 ysc3839 2021-09-02 15:56:58 +08:00 @rationa1cuzz 不然你觉得还能有什么办法呢?前端没什么方法跟外部程序通信的。 |
5 ysc3839 2021-09-02 15:59:30 +08:00 @Corua 他图里这个就是用 url scheme 打开的吧?前端不能直接检测目标 url scheme 是否存在,也不能直接检测用户是否选择了打开程序。 |
6 rationa1cuzz OP @ysc3839 就是没有什么办法,想问问有没有什么意见,我目前的办法是 url scheme 这种方式在 windows+chrome 环境下至少我本地)会有个如图的弹框,但是无法判断是否打开,能否可以检测到弹框的点击事件从而判断是否正常打开? |
7 ysc3839 2021-09-02 16:13:28 +08:00 @rationa1cuzz 我认为不能检测,就算能,我也相信浏览器开发商会在下个版本中改为不能。 |
8 autoxbc 2021-09-02 16:33:42 +08:00 用户点击再去判断就有超时问题,页面初始化时就判断,等用户点击超时已经到了。如果用 <img onerror> 判断还可以不用处理跨域,不过仍然需要避免混合内容警告,也就是要提前注入自签名证书 |
9 maichael 2021-09-02 17:16:27 +08:00 https://github.com/vireshshah/custom-protocol-check 试下这个,不过 Chrome 新版未必支持 |
10 typetraits 2021-09-02 19:34:35 +08:00 QQ 的一键登录就是 1 楼说的这种方法,腾讯的检测域名 DNS 返回 127.0.0.1,然后 QQ 客户端接收并处理请求,腾讯那个有时都会等待几秒钟才能检测到客户端已经打开 |
11 Puteulanus 2021-09-03 04:05:39 +08:00 我们现在用的 Citrix 的安全检查就是一楼这种,开网页的时候 URL Protocol 拉起程序(出那个框),然后 Network 里能看到在疯狂轮询,大概半分钟没检测到网页上就会出现下载的提示和链接,让你装上再点重试 |
12 doublleft 2021-09-03 16:05:45 +08:00 一楼正解,目前最理想的方案 |