js智能獲取瀏覽器版本UA信息的方法
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> 版本號(hào):</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> 用戶代理標(biāo)識(shí):</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 {//移動(dòng)終端瀏覽器版本信息
trident: u.indexOf('Trident') > -1, //IE內(nèi)核
presto: u.indexOf('Presto') > -1, //opera內(nèi)核
webKit: u.indexOf('AppleWebKit') > -1, //蘋(píng)果、谷歌內(nèi)核
gecko: u.indexOf('Gecko') > -1 && u.indexOf('KHTML') == -1, //火狐內(nèi)核
mobile: !!u.match(/AppleWebKit.*Mobile.*/)||!!u.match(/AppleWebKit/), //是否為移動(dòng)終端
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應(yīng)該程序,沒(méi)有頭部與底部
};
}(),
language:(navigator.browserLanguage || navigator.language).toLowerCase()
}
支持移動(dòng)端判斷的代碼
<script>
var browser = {
versions: function () {
var u = navigator.userAgent, app = navigator.appVersion;
return { //移動(dòng)終端瀏覽器版本信息
trident: u.indexOf('Trident') > -1, //IE內(nèi)核
presto: u.indexOf('Presto') > -1, //opera內(nèi)核
webKit: u.indexOf('AppleWebKit') > -1, //蘋(píng)果、谷歌內(nèi)核
gecko: u.indexOf('Gecko') > -1 && u.indexOf('KHTML') == -1, //火狐內(nèi)核
mobile: !!u.match(/AppleWebKit.*Mobile.*/), //是否為移動(dòng)終端
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應(yīng)該程序,沒(méi)有頭部與底部
};
}(),
language: (navigator.browserLanguage || navigator.language).toLowerCase()
}
if (browser.versions.mobile) {//判斷是否是移動(dòng)設(shè)備打開(kāi)。browser代碼在下面
var ua = navigator.userAgent.toLowerCase();//獲取判斷用的對(duì)象
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") {
//在微信中打開(kāi)
}
if (ua.match(/WeiBo/i) == "weibo" && isiOS) {
//alert("我在微博中被打開(kāi)IOS");
var flag;
document.addEventListener('touchmove', function (event) { //監(jiān)聽(tīng)滾動(dòng)事件
if(flag==1){ //判斷是遮罩顯示時(shí)執(zhí)行,禁止?jié)L屏
event.preventDefault(); //最關(guān)鍵的一句,禁止瀏覽器默認(rè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空間打開(kāi)
}
if (browser.versions.ios) {
//是否在IOS瀏覽器打開(kāi)
}
if(browser.versions.android){
//是否在安卓瀏覽器打開(kāi)
}
} else {
//否則就是PC瀏覽器打開(kāi)
}
</script>
以上這篇js智能獲取瀏覽器版本UA信息的方法就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
JS獲取填報(bào)擴(kuò)展單元格控件的值的解決辦法
這篇文章主要介紹了JS獲取填報(bào)擴(kuò)展單元格控件的值的解決辦法,需要的朋友可以參考下2017-07-07
JS實(shí)現(xiàn)很實(shí)用的對(duì)聯(lián)廣告代碼(可自適應(yīng)高度)
這篇文章主要介紹了JS實(shí)現(xiàn)很實(shí)用的對(duì)聯(lián)廣告代碼,可實(shí)現(xiàn)固定相對(duì)位置懸浮展示及跟隨屏幕上下滑動(dòng)等功能,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-09-09
簡(jiǎn)單了解JavaScript操作XPath的一些基本方法
XPath構(gòu)建于XML之上,以表示路徑的方式來(lái)確定XML中元素位置,事實(shí)上并不是太常用,這里我們來(lái)簡(jiǎn)單了解JavaScript操作XPath的一些基本方法2016-06-06
JS構(gòu)造函數(shù)與原型prototype的區(qū)別介紹
下面小編就為大家?guī)?lái)一篇JS構(gòu)造函數(shù)與原型prototype的區(qū)別介紹。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2016-07-07
layui問(wèn)題之自動(dòng)滾動(dòng)二級(jí)iframe頁(yè)面到指定位置的方法
今天小編就為大家分享一篇layui問(wèn)題之自動(dòng)滾動(dòng)二級(jí)iframe頁(yè)面到指定位置的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-09-09
如何利用JS實(shí)現(xiàn)時(shí)間軸動(dòng)畫(huà)效果
時(shí)間軸動(dòng)畫(huà)和幀式動(dòng)畫(huà)有很大不同,但相比之下時(shí)間軸方式來(lái)的更直觀和簡(jiǎn)便,下面這篇文章主要給大家介紹了關(guān)于如何利用JS實(shí)現(xiàn)時(shí)間軸動(dòng)畫(huà)效果的相關(guān)資料,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下2022-06-06
JS+DIV實(shí)現(xiàn)鼠標(biāo)劃過(guò)切換層效果的方法
這篇文章主要介紹了JS+DIV實(shí)現(xiàn)鼠標(biāo)劃過(guò)切換層效果的方法,涉及javascript鼠標(biāo)事件及頁(yè)面元素操作的相關(guān)技巧,需要的朋友可以參考下2015-05-05
微信小程序?qū)崿F(xiàn)image組件圖片自適應(yīng)寬度比例顯示的方法
這篇文章主要介紹了微信小程序?qū)崿F(xiàn)image組件圖片自適應(yīng)寬度比例顯示的方法,簡(jiǎn)單講述了image組件的常用屬性,并結(jié)合實(shí)例形式分析了微信小程序?qū)崿F(xiàn)圖片自適應(yīng)寬度比例的相關(guān)操作技巧,需要的朋友可以參考下2018-01-01

