iOS和Android用同一个二维码实现跳转下载链接的方法

 更新时间:2016年09月28日 14:16:42   投稿:daisy  
这篇文章给大家分享的是iOS和Android扫描同一个二维码,分别跳到各自的下载链接的实现方法,文中给出了实例代码,有需要的朋友们可以参考借鉴。

前言

最近一个项目需要iOS和安卓使用一个二维码,让扫描的机器自己识别操作系统实现跳转到相应的下载链接。比如iPhone用微信进行扫描就让他跳转appStore的下载页面,安卓机器使用微信扫描就直接跳浏览器下载。但是这二维码还有一个需求就是,用户已经下载了这个app,当用户打开app进入到注册页面时,再次扫描这个二维码时,自动填写邀请码进行注册。那么该如何实现,细节就不说了,直接上代码。

使用js实现,其实代码非常简单.

使用时直接拷贝代码,改掉相应的链接就好。

PS:该链接在微信环境打开时还是需要手动跳转到手机的浏览器才能跳到下载页面,因为微信内的webView比较特别,所以写了一个alert引导用户打开浏览器。

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title></title>
</head>
<body>

  <script>

  /**
    出来的链接大概是长这样的
    http://xxxx.cn/243423.html?c=Q23DR32
  */

  // c=Q23DR32是注册时扫描获取的邀请码。
  // 这样加参数,后面的参数会被自动忽略,不会影响加载此网页

    goDownload();

    // 去下载
    function goDownload() {
      var u = navigator.userAgent, app = navigator.appVersion;
      var isAndroid = u.indexOf('Android') > -1 || u.indexOf('Linux') > -1;
      var isIOS = !!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/);
      // 是安卓浏览器
      if (isAndroid) {
        window.location.href = 'http://xxxxxxx.cn/release/xxxx-release.apk'; // 跳安卓端下载地址
      }
      // 是iOS浏览器
      if (isIOS) {
        window.location.href = 'https://itunes.apple.com/cn/app/xxxxxxx/id1124348115?mt=8'; // 跳AppStore下载地址
      }

      // 是微信内部webView
      if (is_weixn()) {
        alert("请点击右上角按钮, 点击使用浏览器打开");
      }

      // 是PC端
      if (IsPC()) {
        window.location.href = 'http://www.xxxxxxx.cn/index.html'; // 公司主页
      }
    }

    // 是微信浏览器
    function is_weixn(){
      var ua = navigator.userAgent.toLowerCase();
      if(ua.match(/MicroMessenger/i)=="micromessenger") {
        return true;
      } else {
        return false;
      }
    }


    function IsPC() {
      var userAgentInfo = navigator.userAgent;
      var Agents = ["Android", "iPhone",
        "SymbianOS", "Windows Phone",
        "iPad", "iPod"];
      var flag = true;
      for (var v = 0; v < Agents.length; v++) {
        if (userAgentInfo.indexOf(Agents[v]) > 0) {
          flag = false;
          break;
        }
      }
      return flag;
    }

  </script>
</body>
</html>

总结

以上就是iOS和Android用同一个二维码实现跳转下载链接的方法,大家都学会了吗,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有更好的解决方案或可以通过代码判断微信客户端的系统环境的方法请留言交流。

相关文章

  • 详解Javascript百度地图接口开发文档中的类和方法

    详解Javascript百度地图接口开发文档中的类和方法

    最近在工作中在用laravel框架仿写饿了么外卖商城,于是学习了一下有关地图接口相关的知识,以下是百步地图接口开发文档的一些类和方法的使用,需要的朋友们可以参考借鉴,下面来一起看看吧。
    2017-02-02
  • 移动端点击图片放大特效PhotoSwipe.js插件实现

    移动端点击图片放大特效PhotoSwipe.js插件实现

    这篇文章主要为大家详细介绍了移动端点击图片放大特效PhotoSwipe.js插件实现方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2016-08-08
  • javascript字符串拼接的效率问题

    javascript字符串拼接的效率问题

    不是效率的问题 是 内存碎片的问题 用数组速度比“+”要慢 只是内存占的少和内存碎片少一些,现在根本不推荐用数组来处理了。
    2010-12-12
  • Javascript中暂停功能的实现代码

    Javascript中暂停功能的实现代码

    Javascript中暂停功能的实现代码...
    2007-03-03
  • 微信小程序用户位置权限的获取方法(拒绝后提醒)

    微信小程序用户位置权限的获取方法(拒绝后提醒)

    这篇文章主要介绍了微信小程序用户位置权限的获取方法(拒绝后提醒),文中给大家介绍了微信小程序获取用户当前位置的三个方式,授权方法,非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下
    2018-11-11
  • JS解决ie6下png透明的方法实例

    JS解决ie6下png透明的方法实例

    解决ie6下png透明的问题想必前端都比较清楚,虽然有很多方法,但是我觉得用JS还是最省事的方法,不管是图片还是背景图片都OK。
    2013-08-08
  • 微信小程序实现答题功能

    微信小程序实现答题功能

    这篇文章主要为大家详细介绍了微信小程序实现答题功能,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-06-06
  • 关于JavaScript中URL对象的一些妙用

    关于JavaScript中URL对象的一些妙用

    avaScript URL() 构造函数返回一个新创建的 URL 对象,表示由一组参数定义的 URL,利用该构造函数可以获取 RL的查询、参数等,下面这篇文章主要给大家介绍了关于JavaScript URL对象的一些妙用,需要的朋友可以参考下
    2021-10-10
  • js中开关变量使用实例

    js中开关变量使用实例

    本文主要分享了js中开关变量使用实例的代码,具有很好的参考价值,下面跟着小编一起来看下吧
    2017-02-02
  • javascript返回顶部的按钮实现方法

    javascript返回顶部的按钮实现方法

    这篇文章主要介绍了javascript返回顶部的按钮实现方法,需要的朋友可以参考下
    2016-01-01

最新评论