项目需求:扫码根据不同平台下载不同版本的APP。主要是ios和Android。
网上找了很多,前面判断平台的代码很容易找到,但是后面的就有些坑了。有的人的是根本跑不通。有的是代码补全。
下面是 微信扫码下载APP。(iOS版)
1 <!DOCTYPE html>
2 <html lang="en">
3 <head>
4 <meta charset="UTF-8">
5 <meta name="viewport" content="width=device-width, initial-scale=1.0">
6 <meta http-equiv="X-UA-Compatible" content="ie=edge">
7 <title>下载APP</title>
8 </head>
9 <body>
10
11 </body>
12 <script>
13 // 判断是不是 ios 设备
14 function checkIsAppleDevice() {
15 let u = navigator.userAgent,
16 app = navigator.appVersion;
17 console.log('u======', u);
18 console.log('app=======', app)
19 let ios = !!u.match(/\i[^;]+;( U;)? CPU.+Mac OS X/);
20 let iPad = u.indexOf('iPad') > -1;
21 let iPhone = u.indexOf('iPhone') > -1 || u.indexOf('Mac') > -1;
22 if(ios || iPad || iPhone) {
23 return true;
24 } else {
25 return false;
26 }
27 }
28 // alert( checkIsAppleDevice() )
29
30 // 判断是不是 Android 设备
31 function checkIsAndroidDevice() {
32 let u = navigator.userAgent;
33 // console.log(u);
34 if(u.indexOf('Android') > -1 || u.indexOf('Adr') > -1 ) {
35 return true;
36 } else {
37 return false;
38 }
39 }
40
41
42 if (checkIsAppleDevice()) {
43 // alert('苹果手机')
44 window.location.href = 'https://apps.apple.com/us/app/APP的包名/id+ID号?l=zh&ls=1'
45 } else {
46 // alert('安卓手机')
47 // 安卓手机暂时没跑通,不写
48 }
49
50 function isWinxin() {
51 var ua = window.userAgent.toLowerCase();
52 if(ua.match(/MicroMessenger/i) == 'micromessenger') {
53 return true;
54 } else {
55 return false;
56 }
57 }
58
59 // http://www.qianhengnet.com/jeesite/static/download.html
60
61 </script>
62 </html>
将上面的页面放到服务器上,然后将地址生成一个二维码,再扫描就可以了。
上面苹果手机的 链接是可以从提交APP的官网获得的。
获得 链接:
新打开的页面就是:
这就是代码中链接的由来。
iOS的就可以成功了。安卓的比较麻烦还没找到好的方法。
|