iOS和安卓使用同一個(gè)二維碼實(shí)現(xiàn)跳轉(zhuǎn)下載鏈接

最近公司的產(chǎn)品需求,希望iOS和安卓使用一個(gè)二維碼,讓掃描的機(jī)器自己識(shí)別操作系統(tǒng)實(shí)現(xiàn)跳轉(zhuǎn)到相應(yīng)的下載鏈接。比如iPhone用微信進(jìn)行掃描就讓他跳轉(zhuǎn)appStore的下載頁面,安卓機(jī)器使用微信掃描就直接跳瀏覽器下載。但是這二維碼還有一個(gè)需求就是,用戶已經(jīng)下載了這個(gè)app,當(dāng)用戶打開app進(jìn)入到注冊(cè)頁面時(shí),再次掃描這個(gè)二維碼時(shí),自動(dòng)填寫邀請(qǐng)碼進(jìn)行注冊(cè)。那么該如何實(shí)現(xiàn),當(dāng)中走了不少彎路,為此研發(fā)部也開了幾次會(huì),細(xì)節(jié)就不說了,直接上代碼。

  • 使用js實(shí)現(xiàn),其實(shí)代碼非常簡(jiǎn)單.

  • 使用時(shí)直接拷貝代碼,改掉相應(yīng)的鏈接就好。

  • PS:該鏈接在微信環(huán)境打開時(shí)還是需要手動(dòng)跳轉(zhuǎn)到手機(jī)的瀏覽器才能跳到下載頁面,因?yàn)槲⑿艃?nèi)的webView比較特別,所以寫了一個(gè)alert引導(dǎo)用戶打開瀏覽器。

  • Update PS : 已經(jīng)解決了微信環(huán)境打開時(shí)需要手動(dòng)跳轉(zhuǎn)到手機(jī)瀏覽器才能跳到下載頁面的情況,使用新的代碼,在微信環(huán)境下也可以直接跳轉(zhuǎn)下載地址而不需要手動(dòng)跳瀏覽器!??!

("更新后實(shí)測(cè)是可行的,之前可能有些朋友誤會(huì)了下面的代碼的使用場(chǎng)景。")


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

    <script>

    /**
        出來的鏈接大概是長(zhǎng)這樣的
        http://xxxx.cn/243423.html?c=Q23DR32
    */

    // c=Q23DR32是注冊(cè)時(shí)掃描獲取的邀請(qǐng)碼。
    // 這樣加參數(shù),后面的參數(shù)會(huì)被自動(dòng)忽略,不會(huì)影響加載此網(wǎng)頁


        toDownload(); 
        // 新的方法
        function toDownload(){ 
            var u = navigator.userAgent;
            var ua = u.toLowerCase();   
            if (/iphone|ipad|ipod/.test(ua)) {  // iOS 系統(tǒng) ->  跳AppStore下載地址
                //alert("iOS"); 
                window.location.;
            } else if ( /android/.test(ua)) { // 安卓系統(tǒng) -> 跳安卓端下載地址
                window.location.;
                //alert("android"); 
            } else if (IsPC()){ // PC端

            }
        }


        //  修改前的代碼
        /*
        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.; // 跳安卓端下載地址
            }
            // 是iOS瀏覽器
            if (isIOS) {
                window.location.; // 跳AppStore下載地址
            }

            // 是微信內(nèi)部webView
            if (is_weixn()) {
                alert("請(qǐng)點(diǎn)擊右上角按鈕, 點(diǎn)擊使用瀏覽器打開");
            }

            // 是PC端
            if (IsPC()) {
                window.location.;  // 公司主頁
            }
        }
        // 是微信瀏覽器
        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>

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容