V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
firhome
V2EX  ›  程序员

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

  •  
  •   firhome · 2016-04-14 16:29:08 +08:00 · 4871 次点击
    这是一个创建于 3138 天前的主题,其中的信息可能已经有所发展或是发生改变。
    我现在的需求是这样。
    [点击链接,如果用户已经安装了 APP ,那么直接唤醒 APP ,如果没有,就跳转到下载页面]

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

    但是问题来了:

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

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

    http://zhuanlan.zhihu.com/p/19848910
    v1024
        3
    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
        4
    v1024  
       2016-04-14 16:44:52 +08:00
    @v1024
    sorry ,我只看了标题,我上面回复仅针对标题。
    firhome
        5
    firhome  
    OP
       2016-04-14 16:45:10 +08:00
    @JiShuTui iframe 也会出现这样的问题吧。 如果没有安装呢?
    murmur
        6
    murmur  
       2016-04-14 16:58:05 +08:00
    http 服务必杀解决方案吧
    siyushin
        7
    siyushin  
       2016-04-14 17:16:36 +08:00
    是否打开的对话框是 ios 9 的安全特性吧。
    rqzheng2008
        8
    rqzheng2008  
       2016-04-14 22:12:19 +08:00
    B 站是什么情况 web 端都弹出一个对话框说你还没安装客户端,然后提供下载地址。。。(逃
    r00tt
        9
    r00tt  
       2016-04-15 09:05:48 +08:00
    如果这个客户端是你们自己的那好办,客户端开个做个httpserver js发ajax请求,如果有相应的返回就说明已经安装啦,不过这个方法只针对android,且有点流氓,后台需要跑个http server
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2731 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 31ms · UTC 12:25 · PVG 20:25 · LAX 04:25 · JFK 07:25
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.