js 移动端页面如何判断是否安装该 APP 并打开?

2016-04-14 16:29:08 +08:00
 firhome
我现在的需求是这样。
[点击链接,如果用户已经安装了 APP ,那么直接唤醒 APP ,如果没有,就跳转到下载页面]

我现在的解决方案是:
设置一个定时器跳转到下载链接,在定时器启动前通过 Scheme 跳转到对应的 APP 。

但是问题来了:

可以正常唤醒并跳转到 APP ,但是 ios 上会弹出“是否打开” 的对话框,并没有阻塞掉定时器,定时器也在跑。。。

所以 请问大家这个该怎么解决呢?
我记得以前好像没有需要 “是否打开” 的对话框阿。
4891 次点击
所在节点    程序员
9 条回复
JiShuTui
2016-04-14 16:33:40 +08:00
用 iframe
dong3580
2016-04-14 16:37:59 +08:00
我记得知乎有这个答案,不知道是不是你想要的(不要做流氓软件,不要做流氓软件,不要做流氓软件):

http://zhuanlan.zhihu.com/p/19848910
v1024
2016-04-14 16:42:34 +08:00
参考一下知乎和 youtube 客户端.

比如知乎:

<meta name="apple-itunes-app" content="app-id=432274380, app-argument=zhihu://questions/28780536">
v1024
2016-04-14 16:44:52 +08:00
@v1024
sorry ,我只看了标题,我上面回复仅针对标题。
firhome
2016-04-14 16:45:10 +08:00
@JiShuTui iframe 也会出现这样的问题吧。 如果没有安装呢?
murmur
2016-04-14 16:58:05 +08:00
http 服务必杀解决方案吧
siyushin
2016-04-14 17:16:36 +08:00
是否打开的对话框是 ios 9 的安全特性吧。
rqzheng2008
2016-04-14 22:12:19 +08:00
B 站是什么情况 web 端都弹出一个对话框说你还没安装客户端,然后提供下载地址。。。(逃
r00tt
2016-04-15 09:05:48 +08:00
如果这个客户端是你们自己的那好办,客户端开个做个httpserver js发ajax请求,如果有相应的返回就说明已经安装啦,不过这个方法只针对android,且有点流氓,后台需要跑个http server

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/271053

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX