移动端下载App或者打开指定App

需求是在项目活动页中下载app或者如果已经已经安装app打开app

代码如下

 1 navToDownApp() {
 2       let u = navigator.userAgent
 3       if (/MicroMessenger/gi.test(u)) {
 4         // 如果是微信客户端打开,引导用户在浏览器中打开
 5         alert('请在浏览器中打开')
 6       }
 7       if (u.indexOf('Android') > -1 || u.indexOf('Linux') > -1) {
 8         // Android
 9         if (this.openApp('en://startapp')) {
10           this.openApp('en://startapp') // 通过Scheme协议打开指定APP
11         } else {
12           //跳转Android下载地址
13         }
14       } else if (u.indexOf('iPhone') > -1) {
15         if (this.openApp('ios--scheme')) {
16           this.openApp('ios--scheme') // 通过Scheme协议打开指定APP
17         } else {
18           // 跳转IOS下载地址
19         }
20       }
21     },
22     openApp(src) {
23       // 通过iframe的方式试图打开APP,如果能正常打开,会直接切换到APP,并自动阻止a标签的默认行为
24       // 否则打开a标签的href链接
25       let ifr = document.createElement('iframe')
26       ifr.src = src
27       ifr.style.display = 'none'
28       document.body.appendChild(ifr)
29       window.setTimeout(function() {
30         // 打开App后移出这个iframe
31         document.body.removeChild(ifr)
32       }, 2000)
33     }

 

posted @ 2019-07-29 10:47  夏天的薰风  阅读(687)  评论(0编辑  收藏  举报