lymvv

需求是在项目活动页中下载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     }

 

分类:

技术点:

相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2021-12-29
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-11-17
  • 2021-11-17
猜你喜欢
  • 2021-11-27
  • 2021-08-29
  • 2021-11-17
  • 2021-11-17
  • 2021-10-30
相关资源
相似解决方案