1. 程式人生 > >JS判斷是否在微信瀏覽器開啟

JS判斷是否在微信瀏覽器開啟

通過js就可以判斷當前頁面是在什麼瀏覽器開啟的。

以下是一段示例程式碼,註釋中表明瞭通過JS如何判斷是否在微信瀏覽器開啟,是否在QQ空間瀏覽器,是否在新浪微博開啟。當然可以做得更完善一點,再加上判斷是在移動裝置開啟還是在PC端瀏覽器開啟的,更加細分一點,可以判斷是在安卓系統的瀏覽器開啟的還是IOS系統瀏覽器開啟的。

if (browser.versions.mobile) {//判斷是否是移動裝置開啟。browser程式碼在下面
        var ua = navigator.userAgent.toLowerCase();//獲取判斷用的物件
        if (ua.match(/MicroMessenger/i) == "micromessenger") {
                //在微信中開啟
        }
        if (ua.match(/WeiBo/i) == "weibo") {
                //在新浪微部落格戶端開啟
        }
        if (ua.match(/QQ/i) == "qq") {
                //在QQ空間開啟
        }
        if (browser.versions.ios) {
                //是否在IOS瀏覽器開啟
        } 
        if(browser.versions.android){
                //是否在安卓瀏覽器開啟
        }
} else {
        //否則就是PC瀏覽器開啟
}

再附上browser的程式碼,通過以下方法可以判斷很多瀏覽器。

包括判斷IE瀏覽器,Opera瀏覽器,蘋果瀏覽器,谷歌瀏覽器,火狐瀏覽器等。

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, //蘋果、谷歌核心
            gecko: u.indexOf('Gecko') > -1 && u.indexOf('KHTML') == -1, //火狐核心
            mobile: !!u.match(/AppleWebKit.*Mobile.*/), //是否為移動終端
            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, //是否為iPhone或者QQHD瀏覽器
            iPad: u.indexOf('iPad') > -1, //是否iPad
            webApp: u.indexOf('Safari') == -1 //是否web應該程式,沒有頭部與底部
        };
    }(),
    language: (navigator.browserLanguage || navigator.language).toLowerCase()
}