其实jQuery 也可以判断浏览器类型,但是从1.9之后就删除了$.browser
所以我没有使用jQuery
测试页面:
<html>
<head lang="en">
<meta charset="UTF-8">
<title></title>
<script type="text/javascript" src="js/jquery-1.10.1.js"></script>
<script type="text/javascript" src="js/common_util.js"></script>
<script type="text/javascript">
window.onload=function(){
// var brow = $.browser;
// alert(brow);
var browser = com.whuang.hsj.getBrowserVersion(true);
document.write(browser.ver+"<br>");
document.write("language:"+browser.lang);
}
</script>
</head>
<body>
</body>
</html>
(1) 在chrome中运行结果:
说明:中间一行的"36.0.1985.143"是浏览器版本号
(2)在IE8中运行结果:
(3)在IE9中运行结果:
(4)在火狐中运行结果:
但是在火狐中的版本号不对,js获取的版本号是33.0 ,但是应该是33.1,如下图:
暂时不知道什么原因,不过影响不大
核心方法:com.whuang.hsj.getBrowserVersion
参数说明:只有一个参数,用于打印浏览器名称.用于上线的项目时应该设置为false.
返回值说明:
返回的是一个对象.
var browser = com.whuang.hsj.getBrowserVersion(false);
可以通过browser.firefox 判断是否是火狐浏览器,通过browser.chrome 判断是否是谷歌浏览器,等等.
browser.lang是浏览器语言,取值范围是['zh-cn','zh','en-us','en']
注意:browser.lang的值均是小写,并且zh-cn 是中划线,不是下划线.
com.whuang.hsj.getBrowserVersion见附件common_util.zip
com.whuang.hsj.getBrowserVersion实现
/***
* get browser type and browser version and language
* @param write22
* @returns {{}}
*/
com.whuang.hsj.getBrowserVersion=function(write22){
var browser = {};
// console.dir(navigator);
var userAgent = navigator.userAgent.toLowerCase();
/*for(osvId in navigator){
var value222=navigator[osvId];
document.writeln(osvId+": "+value222+'<br>');
}*/
var lang22=navigator.language;
// document.writeln(userAgent+'<br>');
// document.writeln(navigator.appCodeName+'<br>');
var s;
(s = userAgent.match(/msie ([\d.]+)/)) ? browser.ie = s[1] : (s = userAgent.match(/firefox\/([\d.]+)/)) ? browser.firefox = s[1] : (s = userAgent.match(/chrome\/([\d.]+)/)) ? browser.chrome = s[1] :
(s = userAgent.match(/opera.([\d.]+)/)) ? browser.opera = s[1] : (s = userAgent.match(/version\/([\d.]+).*safari/)) ? browser.safari = s[1] : 0;
var version = "";
if (browser.ie) {
version = browser.ie;
if(write22 && write22!=false && write22!='false'){
document.writeln('IE<br>');
}
if(!browser.lang ||browser.lang==undefined){
lang22=navigator.browserLanguage;
browser.systemLanguage=navigator.systemLanguage ;
browser.userLanguage=navigator.userLanguage;
}
}
else
if (browser.firefox) {
version = browser.firefox;
browser.mozilla=browser.firefox;
if(write22 && write22!=false && write22!='false'){
document.writeln('firefox<br>');
}
}
else
if (browser.chrome) {
version = browser.chrome;
if(write22 && write22!=false && write22!='false'){
document.writeln('chrome<br>');
}
}
else
if (browser.opera) {
version = browser.opera;
if(write22 && write22!=false && write22!='false'){
document.writeln('opera<br>');
}
}
else
if (browser.safari) {
version = browser.safari;
if(write22 && write22!=false && write22!='false'){
document.writeln('Safari<br>');
}
}
else {
version = 'unknown browser';
}
browser.ver=version;
if(lang22 && lang22!=undefined)
{
browser.lang=lang22.toLowerCase();
}
return browser;
}
参考:
1342

被折叠的 条评论
为什么被折叠?



