js根據手機客戶端瀏覽器類型,判斷跳轉官網/手機網站多個實例代碼
來源:易賢網 閱讀:1039 次 日期:2016-07-06 11:17:56
溫馨提示:易賢網小編為您整理了“js根據手機客戶端瀏覽器類型,判斷跳轉官網/手機網站多個實例代碼”,方便廣大網友查閱!

這篇文章主要介紹了js根據手機客戶端瀏覽器類型,判斷跳轉官網/手機網站多個實例代碼,需要的朋友可以參考下

實例一、比較簡單粗暴缺少點類型判斷

<script type="text/javascript"> 

        var sUserAgent = navigator.userAgent.toLowerCase(); 

        var bIsIpad = sUserAgent.match(/ipad/i) == "ipad"; 

        var bIsIphoneOs = sUserAgent.match(/iphone os/i) == "iphone os"; 

        var bIsMidp = sUserAgent.match(/midp/i) == "midp"; 

        var bIsUc7 = sUserAgent.match(/rv:1.2.3.4/i) == "rv:1.2.3.4"; 

        var bIsUc = sUserAgent.match(/ucweb/i) == "ucweb"; 

        var bIsAndroid = sUserAgent.match(/android/i) == "android"; 

        var bIsCE = sUserAgent.match(/windows ce/i) == "windows ce"; 

        var bIsWM = sUserAgent.match(/windows mobile/i) == "windows mobile"; 

        if (bIsIpad || bIsIphoneOs || bIsMidp || bIsUc7 || bIsUc || bIsAndroid || bIsCE || bIsWM ){ 

          window.location.href="3g.php";

        } 

</script>

實例二、代碼工整,很多的函數都基于這個增加的功能

<script>

    var pc_style = ""

    var browser = {

    versions: function () {

    var u = navigator.userAgent, app = navigator.appVersion;

    return {

    trident: u.indexOf('Trident') > -1,

    presto: u.indexOf('Presto') > -1,

    webKit: u.indexOf('AppleWebKit') > -1,

    gecko: u.indexOf('Gecko') > -1 && u.indexOf('KHTML') == -1,

    mobile: !!u.match(/AppleWebKit.*Mobile.*/) || !!u.match(/AppleWebKit/) && u.indexOf('QIHU') && u.indexOf('QIHU') > -1 && u.indexOf('Chrome') < 0,

    ios: !!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/),

    android: u.indexOf('Android') > -1 || u.indexOf('Linux') > -1,

    iPhone: u.indexOf('iPhone') > -1 || u.indexOf('Mac') > -1,

    iPad: u.indexOf('iPad') > -1,

    webApp: u.indexOf('Safari') == -1,

    ua: u

    };

    }(),

    language: (navigator.browserLanguage || navigator.language).toLowerCase()

    }

    if (browser.versions.mobile && !browser.versions.iPad) {

    this.location = "此處輸入跳轉微站首頁地址";

    }

</script>

實例三、增加了一些功能

<!--智能手機判斷開始-->

<!--

     <script type = "text/javascript" language = "javascript" >

    Function.prototype.bind = function (bindObj, args) {

    var _self = this;

    return function () {

        return _self.apply(bindObj, [].concat(args))

    }

};

function $(id) {

    return "string" == typeof id ? document.getElementById(id) : id;

};

var browser = {

    versions : function () {

        var u = navigator.userAgent,

        app = navigator.appVersion;

        return {

            trident : u.indexOf('Trident') > -1,

            presto : u.indexOf('Presto') > -1,

            webKit : u.indexOf('AppleWebKit') > -1,

            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/),

            android : u.indexOf('Android') > -1 || u.indexOf('Linux') > -1,

            iPhone : u.indexOf('iPhone') > -1 || u.indexOf('Mac') > -1,

            iPad : u.indexOf('iPad') > -1,

            webApp : u.indexOf('Safari') == -1,

            QQbrw : u.indexOf('MQQBrowser') > -1,

            ucLowEnd : u.indexOf('UCWEB7.') > -1,

            ucSpecial : u.indexOf('rv:1.2.3.4') > -1,

            ucweb : function () {

                try {

                    return parseFloat(u.match(/ucweb\d+\.\d+/gi).toString().match(/\d+\.\d+/).toString()) >= 8.2

                } catch (e) {

                    if (u.indexOf('UC') > -1) {

                        return true;

                    } else {

                        return false;

                    }

                }

            }

            (),

            Symbian : u.indexOf('Symbian') > -1,

            ucSB : u.indexOf('Firefox/1.') > -1

        };

    }

    ()

}

var _gaq = _gaq || [];

(function (win, browser, undefined) {

    var rf = document.referrer;

    if (rf === "" || rf.toLocaleLowerCase().indexOf(".xiu.com") === -1) {

        var defaultJumpDomain = "";

        if (defaultJumpDomain == "www") {

            return;

        }

        if (defaultJumpDomain == "m") {

            window.location.;

            return;

        }

        if (screen == undefined || screen.width < 810) {

            if (browser.versions.iPad == true) {

                return;

            }

            if (browser.versions.webKit == true || browser.versions.mobile == true || browser.versions.ios == true || browser.versions.iPhone == true || browser.versions.ucweb == true || browser.versions.ucSpecial == true) {

                win.location.;

                return;

            }

            if (browser.versions.Symbian) {

                win.location.;

            }

        }

    }

})(window, browser);

 </script>

-->

<!--智能手機判斷結束-->

實例四、簡潔腳本之家推薦使用,如果您有更好的代碼可以分享

<script type="text/javascript">

var browser = {

    versions : function () {

        var u = navigator.userAgent,

        app = navigator.appVersion;

        return {

            trident : u.indexOf('Trident') > -1,

            presto : u.indexOf('Presto') > -1,

            webKit : u.indexOf('AppleWebKit') > -1,

            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/),

            android : u.indexOf('Android') > -1 || u.indexOf('Linux') > -1,

            iPhone : u.indexOf('iPhone') > -1 || u.indexOf('Mac') > -1,

            iPad : u.indexOf('iPad') > -1,

            webApp : u.indexOf('Safari') == -1,

            QQbrw : u.indexOf('MQQBrowser') > -1,

            weiXin : u.indexOf('MicroMessenger') > -1,

            ucLowEnd : u.indexOf('UCWEB7.') > -1,

            ucSpecial : u.indexOf('rv:1.2.3.4') > -1,

            ucweb : function () {

                try {

                    return parseFloat(u.match(/ucweb\d+\.\d+/gi).toString().match(/\d+\.\d+/).toString()) >= 8.2

                } catch (e) {

                    if (u.indexOf('UC') > -1) {

                        return true;

                    } else {

                        return false;

                    }

                }

            }

            (),

            Symbian : u.indexOf('Symbian') > -1,

            ucSB : u.indexOf('Firefox/1.') > -1

        };

    }

    (),

    liulanqi : navigator.userAgent

}

if (browser.versions.QQbrw){

document.write("qq瀏覽器");

}else

{

document.write("其它瀏覽器"+browser.liulanqi);

}

</script>

更多信息請查看網絡編程

2025國考·省考課程試聽報名

  • 報班類型
  • 姓名
  • 手機號
  • 驗證碼
關于我們 | 聯系我們 | 人才招聘 | 網站聲明 | 網站幫助 | 非正式的簡要咨詢 | 簡要咨詢須知 | 新媒體/短視頻平臺 | 手機站點 | 投訴建議
工業(yè)和信息化部備案號:滇ICP備2023014141號-1 云南省教育廳備案號:云教ICP備0901021 滇公網安備53010202001879號 人力資源服務許可證:(云)人服證字(2023)第0102001523號
聯系電話:0871-65099533/13759567129 獲取招聘考試信息及咨詢關注公眾號:hfpxwx
咨詢QQ:1093837350(9:00—18:00)版權所有:易賢網