1
ysc3839 2021-09-02 11:54:42 +08:00 1
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 1
https://github.com/vireshshah/custom-protocol-check 试下这个,不过 Chrome 新版未必支持
|
10
typetraits 2021-09-02 19:34:35 +08:00 1
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
一楼正解,目前最理想的方案
|