iOS和Android用同一個二維碼實現跳轉下載連結的方法_javascript技巧

來源:互聯網
上載者:User

前言

最近一個項目需要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用同一個二維碼實現跳轉下載連結的方法,大家都學會了嗎,希望本文的內容對大家的學習或者工作能帶來一定的協助,如果有更好的解決方案或可以通過代碼判斷微信用戶端的系統內容的方法請留言交流。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.