zoukankan      html  css  js  c++  java
  • 二维码跳转不同的 app store

    说道二维码 之前是用来跳转app store  然后在就是出来的 扫码付款什么的  

    用的很平常,其实里面也很简单   自己刚开始接触的时候     同事说要做一个二维码下载 应用 => 我=懵逼 

    会看到大家把android 和ios 的二维码并排放在一起 我们的产品ios先出来的  就先放了一个二维码 (毕竟可以二合一呗)

    什么鬼  二维码是个什么 ?

    还要根据不同的平台 ?

    还要取是什么浏览器打开的这个 ?

    还要判断是不是wechat? 我的天 !!!!

    作为刚出校门的小菜鸟 不懂就得问啊  在学校里那都是 舅舅不疼 姥姥不爱的  关于这技术  以前暑假的时候晓得一点

    NO :1

    就是那其实二维码 就是一个 URL 地址  

    说道平台 大家一定会想到 什么 mac地址什么的  但是好像浏览器也屏蔽掉了 

    这可咋办呢 ? 

    还是自己看着经理去抽烟的时候 这不 菜鸟不知道怎么办 只能以拉家常的方式去和经理说说技术

    me : 老大 ,那做二维码跳转  怎么知道他是什么平台的呢 ? 怎么获取到机型呢?

    老大: 这个很简单的  你根据浏览器的报头去做就好了,其实扫描到了二维码之后 读取到了  手机会调用浏览器去访问该网址 ,

    ios的则会调用 safair android的则会调用chrome  虽然还有什么uc ,opera  难免的会有些误差。 你自己琢磨吧!

    me : 那好吧 !

    找找查查 就是 navigator.userAgent  navigator.appVersion

    接着就是考虑在后台处理还是在前台  

    算了 还是前台判断吧 

     var browser = {
               versions: function () {
                   var u = navigator.userAgent, app = navigator.appVersion;
                   return {
                       //移动终端浏览器版本信息 
                       trident: u.indexOf('Trident') > -1, //IE内核
                       presto: u.indexOf('Presto') > -1, //opera内核
                       webKit: u.indexOf('AppleWebKit') > -1,//苹果、谷歌内核
                       safari:u.indexOf("Safari")>-1, //safari 浏览器
                       gecko: u.indexOf('Gecko') > -1 && u.indexOf('KHTML') == -1, //火狐内核
                       mobile: !!u.match(/AppleWebKit.*Mobile.*/) || !!u.match(/AppleWebKit/), //是否为移动终端
                       ios: !!u.match(/(i[^;]+;( U;)? CPU.+Mac OS X/), //ios终端
                       android: u.indexOf('Android') > -1 || u.indexOf('Linux') > -1, //android终端或者uc浏览器
                       iPhone: u.indexOf('iPhone') > -1 || u.indexOf('Mac') > -1, //是否为iPhone或者QQHD浏览器
                       iPad: u.indexOf('iPad') > -1, //是否iPad
                       wechat:u.toLowerCase().match((/MicroMessenger/i) == 'micromessenger'),
                       webApp: u.indexOf('Safari') == -1 //是否web应该程序,没有头部与底部
                   };
               }(),
               language: (navigator.browserLanguage || navigator.language).toLowerCase()
           }
           var explore;
           if (browser.versions.trident)
           {
               explore = 'IE';
           } else if (browser.versions.presto)
           {
               explore = 'Opera';
           } else if (browser.versions.webKit) {
               explore = 'chrome';
           } else if (browser.versions.gecko)
           {
               explore = 'FireFox';
           } else if (browser.versions.safari)
           {
               explore = 'safarir';
           }
         
           if (browser.versions.ios || browser.versions.iPhone || browser.versions.iPad) {         
               alert('ios手机');           
               $.ajax({
                   url: "DataInsert.ashx?Explore=" + explore + "&device=ios&deviceappVersion=" + navigator.appVersion,
                   type: "post",
                   success: function (data)
                   {
                       if (data == "success")
                       {
                           location.href = "http://www.apple.com/cn/ios/";
                       }
                   }, error: function (errorMsg) {
                       //请求失败时执行该函数
                       alert("数据异常");                   
                   }
               });
           }
           else if (browser.versions.android) {
               alert('安卓手机');
               $.ajax({
                   url: "DataInsert.ashx?Explore=" + explore + "&device=Android&deviceappVersion=" + navigator.appVersion,
                   type: "post",
                   success: function (data) {
                       if (data == "success") {
                           location.href = "http://www.android-studio.org/"; //这里就给了一个学习网站 哈哈
                       }
                   }, error: function (errorMsg) {
                       //请求失败时执行该函数
                       alert("数据异常");
                   }
               });
           
           } else if (browser.versions.wechat)
           {
               $.ajax({
                   url: "DataInsert.ashx?Explore=" + explore + "&device=wechat&deviceappVersion=" + navigator.appVersion,
                   type: "post",
                   success: function (data) {
                       if (data == "success") {
                           location.href = "http://weixin.qq.com/";
                       }
                   }, error: function (errorMsg) {
                       //请求失败时执行该函数
                       alert("数据异常");
                   }
               });
               alert('微信');
    
           }

    这都获取的很详细了吧  

    在异步里去拼接  判断什么 浏览器 什么机型  wechat 什么的  都是妥妥的了 。

  • 相关阅读:
    LeetCode "Super Ugly Number" !
    LeetCode "Count of Smaller Number After Self"
    LeetCode "Binary Tree Vertical Order"
    LeetCode "Sparse Matrix Multiplication"
    LeetCode "Minimum Height Tree" !!
    HackerRank "The Indian Job"
    HackerRank "Poisonous Plants"
    HackerRank "Kundu and Tree" !!
    LeetCode "Best Time to Buy and Sell Stock with Cooldown" !
    HackerRank "AND xor OR"
  • 原文地址:https://www.cnblogs.com/SWSHBON/p/5712207.html
Copyright © 2011-2022 走看看