admin管理员组文章数量:1579934
浏览器js函数
var browserInfo = function (userAgent) {
var u = userAgent || navigator.userAgent;
var self = this;
var match = {
//内核
'Trident': u.indexOf('Trident') > 0 || u.indexOf('NET CLR') > 0,
'Presto': u.indexOf('Presto') > 0,
'WebKit': u.indexOf('AppleWebKit') > 0,
'Gecko': u.indexOf('Gecko/') > 0,
//浏览器
'Safari': u.indexOf('Safari') > 0,
'Chrome': u.indexOf('Chrome') > 0 || u.indexOf('CriOS') > 0,
'IE': u.indexOf('MSIE') > 0 || u.indexOf('Trident') > 0,
'Edge': u.indexOf('Edge') > 0,
'Firefox': u.indexOf('Firefox') > 0,
'Opera': u.indexOf('Opera') > 0 || u.indexOf('OPR') > 0,
'Vivaldi': u.indexOf('Vivaldi') > 0,
'UC': u.indexOf('UC') > 0 || u.indexOf(' UBrowser') > 0,
'QQBrowser': u.indexOf('QQBrowser') > 0,
'QQ': u.indexOf('QQ/') > 0,
'Baidu': u.indexOf('Baidu') > 0 || u.indexOf('BIDUBrowser') > 0,
'Maxthon': u.indexOf('Maxthon') > 0,
'LBBROWSER': u.indexOf('LBBROWSER') > 0,
'2345Explorer': u.indexOf('2345Explorer') > 0,
'Sogou': u.indexOf('MetaSr') > 0 || u.indexOf('Sogou') > 0,
'Wechat': u.indexOf('MicroMessenger') > 0,
'Taobao': u.indexOf('AliApp(TB') > 0,
'Alipay': u.indexOf('AliApp(AP') > 0,
'Weibo': u.indexOf('Weibo') > 0,
'Suning': u.indexOf('SNEBUY-APP') > 0,
'iQiYi': u.indexOf('IqiyiApp') > 0,
//操作系统平台
'Windows': u.indexOf('Windows') > 0,
'Linux': u.indexOf('Linux') > 0,
'Mac': u.indexOf('Macintosh') > 0,
'Android': u.indexOf('Android') > 0 || u.indexOf('Adr') > 0,
'WP': u.indexOf('IEMobile') > 0,
'BlackBerry': u.indexOf('BlackBerry') > 0 || u.indexOf('RIM') > 0 || u.indexOf('BB') > 0,
'MeeGo': u.indexOf('MeeGo') > 0,
'Symbian': u.indexOf('Symbian') > 0,
'iOS': u.indexOf('like Mac OS X') > 0,
//移动设备
'Mobile': u.indexOf('Mobi') > 0 || u.indexOf('iPh') > 0 || u.indexOf('480') > 0,
'Tablet': u.indexOf('Tablet') > 0 || u.indexOf('iPad') > 0 || u.indexOf('Nexus 7') > 0
};
if (match.Mobile) {
match.Mobile = !(u.indexOf('iPad') > 0);
}
//基本信息
var hash = {
engine: ['WebKit', 'Trident', 'Gecko', 'Presto'],
browser: ['Safari', 'Chrome', 'IE', 'Edge', 'Firefox', 'Opera', 'Vivaldi', 'UC', 'QQBrowser', 'QQ', 'Baidu', 'Maxthon', 'Sogou', 'LBBROWSER', '2345Explorer', 'Wechat', 'Taobao', 'Alipay', 'Weibo', 'Suning', 'iQiYi'],
os: ['Windows', 'Linux', 'Mac', 'Android', 'iOS', 'WP', 'BlackBerry', 'MeeGo', 'Symbian'],
device: ['Mobile', 'Tablet']
};
self.device = 'PC';
self.language = (function () {
var g = (navigator.browserLanguage || navigator.language);
var arr = g.split('-');
if (arr[1]) {
arr[1] = arr[1].toUpperCase();
}
return arr.join('-');
})();
for (var s in hash) {
for (var i = 0; i < hash[s].length; i++) {
var value = hash[s][i];
if (match[value]) {
self[s] = value;
}
}
}
//系统版本信息
var osVersion = {
'Windows': function () {
var v = u.replace(/^.*Windows NT ([\d.]+);.*$/, '$1');
var hash = {
'6.4': '10',
'6.3': '8.1',
'6.2': '8',
'6.1': '7',
'6.0': 'Vista',
'5.2': 'XP',
'5.1': 'XP',
'5.0': '2000'
};
return hash[v] || v;
},
'Android': function () {
return u.replace(/^.*Android ([\d.]+);.*$/, '$1');
},
'iOS': function () {
return u.replace(/^.*OS ([\d_]+) like.*$/, '$1').replace(/_/g, '.');
},
'Mac': function () {
return u.replace(/^.*Mac OS X ([\d_]+).*$/, '$1').replace(/_/g, '.');
}
}
self.osVersion = '';
if (osVersion[self.os]) {
self.osVersion = osVersion[self.os]();
}
//浏览器版本信息
var version = {
'Chrome': function () {
return u.replace(/^.*Chrome\/([\d.]+).*$/, '$1');
},
'IE': function () {
var v = u.replace(/^.*MSIE ([\d.]+).*$/, '$1');
if (v == u) {
v = u.replace(/^.*rv:([\d.]+).*$/, '$1');
}
return v != u ? v : '';
},
'Edge': function () {
return u.replace(/^.*Edge\/([\d.]+).*$/, '$1');
},
'Firefox': function () {
return u.replace(/^.*Firefox\/([\d.]+).*$/, '$1');
},
'Safari': function () {
return u.replace(/^.*Version\/([\d.]+).*$/, '$1');
},
'Opera': function () {
return u.replace(/^.*Opera\/([\d.]+).*$/, '$1');
},
'Vivaldi': function () {
return u.replace(/^.*Vivaldi\/([\d.]+).*$/, '$1');
},
'Maxthon': function () {
return u.replace(/^.*Maxthon\/([\d.]+).*$/, '$1');
},
'QQBrowser': function () {
return u.replace(/^.*QQBrowser\/([\d.]+).*$/, '$1');
},
'QQ': function () {
return u.replace(/^.*QQ\/([\d.]+).*$/, '$1');
},
'Baidu': function () {
return u.replace(/^.*BIDUBrowser[\s\/]([\d.]+).*$/, '$1');
},
'UC': function () {
return u.replace(/^.*UC?Browser\/([\d.]+).*$/, '$1');
},
'2345Explorer': function () {
return u.replace(/^.*2345Explorer\/([\d.]+).*$/, '$1');
},
'Wechat': function () {
return u.replace(/^.*MicroMessenger\/([\d.]+).*$/, '$1');
},
'Taobao': function () {
return u.replace(/^.*AliApp\(TB\/([\d.]+).*$/, '$1');
},
'Alipay': function () {
return u.replace(/^.*AliApp\(AP\/([\d.]+).*$/, '$1');
},
'Weibo': function () {
return u.replace(/^.*weibo__([\d.]+).*$/, '$1');
},
'Suning': function () {
return u.replace(/^.*SNEBUY-APP([\d.]+).*$/, '$1');
},
'iQiYi': function () {
return u.replace(/^.*IqiyiVersion\/([\d.]+).*$/, '$1');
}
};
self.version = '';
if (version[self.browser]) {
self.version = version[self.browser]();
}
};
测试代码:
<html xmlns="http://www.w3/1999/xhtml">
<head runat="server">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>使用JavaScript对浏览器判断</title>
<script src="Scripts/browser.js"></script>
</head>
<body>
<form id="form1" runat="server">
<div id="divInfo">
</div>
<script type="text/javascript">
var browserInfo = new browserInfo();
var html = "<caption><p>" + navigator.userAgent + "</p></caption><table>"
+ "<thead><tr>"
+ "<th>浏览器</th>"
+ "<th>版本</th>"
+ "<th>内核</th>"
+ "<th>操作系统</th>"
+ "<th>设备</th>"
+ "<th>语言</th>"
+ "</tr></thead>"
+ "<tr>"
+ "<td>" + browserInfo.browser + "</td>"
+ "<td>" + browserInfo.version + "</td>"
+ "<td>" + browserInfo.engine + "</td>"
+ "<td>" + browserInfo.os + " " + browserInfo.osVersion + "</td>"
+ "<td>" + browserInfo.device + "</td>"
+ "<td>" + browserInfo.language + "</td>"
+ "</tr></table>";
document.getElementById("divInfo").outerHTML = html;
</script>
</form>
</body>
</html>
运行结果如下:
本文标签: 浏览器常用JavaScript
版权声明:本文标题:使用JavaScript对常用浏览器的判断 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://m.elefans.com/dianzi/1727865280a1134380.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论