很多h5页面都有立即打开/下载的按钮,比如网易新闻
http://3g.163.com/ntes/special/00340EPA/wapSpecialModule.html?sid=S1465956142051&spst=2&spss=newsapp&spsf=wx&spsw=1
比如今日头条
http://toutiao.com/i6298416478102225409/?tt_from=weixin&utm_campaign=client_share&from=singlemessage&app=news_article&utm_source=weixin&isappinstalled=1&iid=4639652216&utm_medium=toutiao_ios&wxshare_count=2&pbid=19604438942
在移动端打开都有这样一个按钮,点击之后,如果手机里安装了该app,则直接打开,如果没有安装,会跳转去下载。请问这个逻辑是如何实现的,据我所知,js无法判断手机上是否安装了app。
求有经验的大神解惑!
谢谢大家的积极回答,现在遇到的坑是,在iphone的safri中,点击会出现弹窗提示,询问我是否打开app或者告诉我链接无效,因为这个提示的原因导致用setTimeout的逻辑会出现问题,因此不知道各位有没有什么办法能够阻止safri的弹窗?
没有想到这个问题这么多人关注。
昨天有同学还私信问我这个问题搞定没!
不能算是完美搞定吧,但是也有一些调研体会,因此将自己对这个问题的总结写在了下面这篇文章里,有兴趣的同学欢迎去看一下。都是辛苦的劳动成果啊!求点赞!!!
浏览器中唤起native app || 跳转到应用商城下载
每个APP都有一个通信的机制的,其实就是外部访问APP的一个协议,类似于a标签的一个链接,当你调用这个协议,如果APP没有响应,说明并没有这个APP
其中'AppTest://www.apptest.com'要在你app提前定义好,具体怎么定义我不太清楚了,这是app开发给我的
主要是APP 安装的时候注册一个外部协议,然后 a 的 href 里面写 "协议://URL/path/to/file?key=value" 之类的。 如果要判断有没有安装的话则需要HTML5
参考:
http://www.cnblogs.com/yejiurui/p/3413796.html
http://blog.sina.com.cn/s/blog_4e1e357d0101jyed.html