zoukankan      html  css  js  c++  java
  • 一个二维码如何自动识别是安卓(Android)还是苹果(IOS)

    思考问题:

    通常,我们开发一个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去生成一个二维码图片,再使用手机扫一扫即可。

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

  • 相关阅读:
    深入浅出Win32多线程程序设计(一)
    dm642的优化
    SpringBoot2
    HZERO微服务平台09: jhipster接入hzero
    如何以纯文本方式简单快速记录java代码的调用过程
    HZERO微服务平台07: 代码分析之登录日志、验证码登录、jwt token等
    HZERO微服务平台02: 认证鉴权体系介绍
    HZERO微服务平台06: 代码分析之token生成、校验、获取信息、传递
    HZERO微服务平台10: 代码分析之admin服务刷新路由、权限、swagger的过程 .md
    HZERO微服务平台11: 代码分析之数据权限、sql拦截 .md
  • 原文地址:https://www.cnblogs.com/CinderellaStory/p/9516597.html
Copyright © 2011-2022 走看看