js智能獲取瀏覽器版本UA信息的方法
更新時間:2016年08月08日 10:35:26 投稿:jingxian
下面小編就為大家?guī)硪黄猨s智能獲取瀏覽器版本UA信息的方法。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
js智能獲取瀏覽器版本UA信息的方法
用js如何獲取UA(user Agent)用戶代理
<!DOCtype html> <html> <head> <title></title> </head> <body onload="whatBrowser()"> <script> function whatBrowser() { document.Browser.Name.value=navigator.appName; document.Browser.Version.value=navigator.appVersion; document.Browser.Code.value=navigator.appCodeName; document.Browser.Agent.value=navigator.userAgent; } </script> <table> <form name="Browser"> <tr> <td> 瀏覽器名稱: </td> <td> <input type="txt" name="Name" size="110%"></td> </tr> <tr> <td> 版本號:</td> <td> <input type="txt" name="Version" size="110%"></td> </tr> <tr> <td> 代碼名稱: </td> <td> <input type="txt" name="Code" size="110%"></td> </tr> <tr> <td> 用戶代理標識:</td> <td> <input type="txt" name="Agent" size="110%"></td> </tr> </form> </table> </body> </html>
函數(shù)式代碼
/* * 智能獲取瀏覽器版本信息 * */ var browser={ versions:function(){ var u = navigator.userAgent, app = navigator.appVersion; return {//移動終端瀏覽器版本信息 trident: u.indexOf('Trident') > -1, //IE內(nèi)核 presto: u.indexOf('Presto') > -1, //opera內(nèi)核 webKit: u.indexOf('AppleWebKit') > -1, //蘋果、谷歌內(nèi)核 gecko: u.indexOf('Gecko') > -1 && u.indexOf('KHTML') == -1, //火狐內(nèi)核 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 webApp: u.indexOf('Safari') == -1 //是否web應該程序,沒有頭部與底部 }; }(), language:(navigator.browserLanguage || navigator.language).toLowerCase() }
支持移動端判斷的代碼
<script> var browser = { versions: function () { var u = navigator.userAgent, app = navigator.appVersion; return { //移動終端瀏覽器版本信息 trident: u.indexOf('Trident') > -1, //IE內(nèi)核 presto: u.indexOf('Presto') > -1, //opera內(nèi)核 webKit: u.indexOf('AppleWebKit') > -1, //蘋果、谷歌內(nèi)核 gecko: u.indexOf('Gecko') > -1 && u.indexOf('KHTML') == -1, //火狐內(nèi)核 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() } if (browser.versions.mobile) {//判斷是否是移動設(shè)備打開。browser代碼在下面 var ua = navigator.userAgent.toLowerCase();//獲取判斷用的對象 var u = navigator.userAgent; var isAndroid = u.indexOf('Android') > -1 || u.indexOf('Adr') > -1; //android終端 var isiOS = !!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/); //ios終端 if (ua.match(/MicroMessenger/i) == "micromessenger") { //在微信中打開 } if (ua.match(/WeiBo/i) == "weibo" && isiOS) { //alert("我在微博中被打開IOS"); var flag; document.addEventListener('touchmove', function (event) { //監(jiān)聽滾動事件 if(flag==1){ //判斷是遮罩顯示時執(zhí)行,禁止?jié)L屏 event.preventDefault(); //最關(guān)鍵的一句,禁止瀏覽器默認行為 } }) $(".download-button,#headermenudownlink,#appshareheaderdownlink,#appsharesayhidownlink,#appsharevslogodownlink,#appsharevsdownlink").bind("click",function () { flag = 1; //alert('ios下載'); $("#shade-father").css({"display":"block","background-color":"rgba(0,0,0,0.4)"}); //$("body").css("paddingTop","2.3rem"); $("#shade-child").css("height","4rem"); }); $('#shade-father').click(function (){ flag = 0; $("#shade-father").css({"display":"none","background-color":"rgba(0,0,0,0)"}); $("#shade-child").css("height","0"); //$("body").css("paddingTop","0"); }); } if (ua.match(/WeiBo/i) == "weibo" && isAndroid) { } if (ua.match(/QQ/i) == "qq") { //在QQ空間打開 } if (browser.versions.ios) { //是否在IOS瀏覽器打開 } if(browser.versions.android){ //是否在安卓瀏覽器打開 } } else { //否則就是PC瀏覽器打開 } </script>
以上這篇js智能獲取瀏覽器版本UA信息的方法就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
js實現(xiàn)網(wǎng)頁檢測是否安裝了 Flash Player 插件
js實現(xiàn)網(wǎng)頁檢測是否安裝了 Flash Player 插件...2007-08-08js prototype 格式化數(shù)字 By shawl.qiu
js prototype 格式化數(shù)字 By shawl.qiu...2007-04-04document.body.scrollTop 值總為0的解決方法 比較常見的標準問題
頁面具有 DTD(或者說指定了 DOCTYPE)時,使用 document.documentElement。2009-11-11