一个二维码如何自动识别是安卓(Android)还是苹果(IOS)

时间:2024-02-23 08:33:30

思考问题:

通常,我们开发一个APP,有Android版本、IOS版本。

但是只有一个二维码?怎么办呢?

怎么让IOS用户扫描二维码下载IOS版本,Android用户扫描二维码下载到Android版本呢?

 

实现思路:

  1. 首先,需要新建一个html文件,通过JavaScript来判断用户的手机系统(IOS或Android),判断之后,根据不同的手机系统,跳转到不同的链接去下载。
  2. 然后,使用这个html文件的链接去生成一个二维码图片。
  3. 最后,拿出手机扫一扫二维码图片会跳转到相应的下载链接。

 

给出代码:down.html

 1 <html>
 2 
 3 <head>
 4     <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
 5     <title>二维码下载</title>
 6 
 7     <script type="text/javascript">
 8         /*  
 9          * 智能机浏览器版本信息:  
10          *  
11          */
12         var browser = {
13             versions: function() {
14                 var u = navigator.userAgent,
15                     app = navigator.appVersion;
16                 return { //移动终端浏览器版本信息  
17                     trident: u.indexOf(\'Trident\') > -1, //IE内核  
18                     presto: u.indexOf(\'Presto\') > -1, //opera内核  
19                     webKit: u.indexOf(\'AppleWebKit\') > -1, //苹果、谷歌内核  
20                     gecko: u.indexOf(\'Gecko\') > -1 && u.indexOf(\'KHTML\') == -1, //火狐内核  
21                     mobile: !!u.match(/AppleWebKit.*Mobile.*/) || !!u.match(/AppleWebKit/), //是否为移动终端  
22                     ios: !!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/), //ios终端  
23                     android: u.indexOf(\'Android\') > -1 || u.indexOf(\'Linux\') > -1, //android终端或者uc浏览器  
24                     iPhone: u.indexOf(\'iPhone\') > -1 || u.indexOf(\'Mac\') > -1, //是否为iPhone或者QQHD浏览器  
25                     iPad: u.indexOf(\'iPad\') > -1, //是否iPad  
26                     webApp: u.indexOf(\'Safari\') == -1 //是否web应该程序,没有头部与底部  
27                 };
28             }(),
29             language: (navigator.browserLanguage || navigator.language).toLowerCase()
30         }
31 
32         if (browser.versions.ios || browser.versions.iPhone || browser.versions.iPad) {
33             window.location = "https://itunes.apple.com/cn/app/xxx";  //改地址放入IOS跳转链接
34         } else if (browser.versions.android) {               //该地址放入Android下载包链接
35             window.location = "http://zhj8.aliapp.com/xxx.apk";
36         }
37 
38         //            document.writeln("语言版本: " + browser.language);  
39         //            document.writeln(" 是否为移动终端: " + browser.versions.mobile);  
40         //            document.writeln(" ios终端: " + browser.versions.ios);  
41         //            document.writeln(" android终端: " + browser.versions.android);  
42         //            document.writeln(" 是否为iPhone: " + browser.versions.iPhone);  
43         //            document.writeln(" 是否iPad: " + browser.versions.iPad);  
44         //            document.writeln(navigator.userAgent);
45     </script>
46 </head>
47 
48 <body>
49 
50 </body>
51 
52 </html>

 

用这个down.html去生成一个二维码图片,再使用手机扫一扫即可。

 

 

希望能够帮助到大家!若有问题,欢迎加群!