如何用java判断浏览器类型
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何用java判断浏览器类型相关的知识,希望对你有一定的参考价值。
用java判断浏览器类型可以通过从request里可以获取用户浏览器类型
代码如下:
Enumeration gete = request.getHeaderNames();while (e.hasMoreElements())
String name = (String)gete.nextElement();
String value = request.getHeader(name);
这样可以遍历从客户端传来的所有头信息:
解释说明:
request.getHeaderNames();//取得全部头信息
request.getHeader();//取出头信息内容
request.getHeaders("User-Agent"); //request.getHeader(“User-agent”)返回客户端浏览器的版本号
具体操作见例子:
Enumeration e = request.getHeaderNames();
while (e.hasMoreElements())
String name = (String)e.nextElement();
String value = request.getHeader(name);
System.out.println(name + " = " + value);
这样可以遍历从客户端传来的所有头信息:
request.getHeaders("User-Agent");
获取User-Agent (客户端的类型,一般用来区分不同的浏览器)。
2,获取操作系统信息
操作系统信息 String osName = System.getProperty("os.name" );
操作系统版本 String osVersion=System.getProperty("os.version");本回答被提问者采纳
如何用html判断浏览器内核
我写的网页在chrome下可以兼容,但ie兼容不了,排版混乱。然后我写了ie版本的,chrome版本的。我想把这两个版本的都上传,当用户自己浏览时自动判断自己的浏览器内核,然后选择的进入自己内核的网页。
我看到了好多是js写的判断,我希望能看到html写的判断方法。
js方法
判断浏览器名称和版本
目前只能判断:ie/firefox/chrome/opera/safari
2012年5月16日23:47:08
浏览器内核UA:UA;
浏览器内核名称:NV.name;
浏览器内核版本:NV.version;
浏览器外壳名称:NV.shell;
var NV = ;
var UA = navigator.userAgent.toLowerCase();
try
NV.name=!-[1,]?\'ie\':
(UA.indexOf("firefox")>0)?\'firefox\':
(UA.indexOf("chrome")>0)?\'chrome\':
window.opera?\'opera\':
window.openDatabase?\'safari\':
\'unkonw\';
catch(e);
try
NV.version=(NV.name==\'ie\')?UA.match(/msie ([\\d.]+)/)[1]:
(NV.name==\'firefox\')?UA.match(/firefox\\/([\\d.]+)/)[1]:
(NV.name==\'chrome\')?UA.match(/chrome\\/([\\d.]+)/)[1]:
(NV.name==\'opera\')?UA.match(/opera.([\\d.]+)/)[1]:
(NV.name==\'safari\')?UA.match(/version\\/([\\d.]+)/)[1]:
\'0\';
catch(e);
try
NV.shell=(UA.indexOf(\'360ee\')>-1)?\'360极速浏览器\':
(UA.indexOf(\'360se\')>-1)?\'360安全浏览器\':
(UA.indexOf(\'se\')>-1)?\'搜狗浏览器\':
(UA.indexOf(\'aoyou\')>-1)?\'遨游浏览器\':
(UA.indexOf(\'theworld\')>-1)?\'世界之窗浏览器\':
(UA.indexOf(\'worldchrome\')>-1)?\'世界之窗极速浏览器\':
(UA.indexOf(\'greenbrowser\')>-1)?\'绿色浏览器\':
(UA.indexOf(\'qqbrowser\')>-1)?\'QQ浏览器\':
(UA.indexOf(\'baidu\')>-1)?\'百度浏览器\':
\'未知或无壳\';
catch(e)
alert(\'浏览器UA=\'+UA+
\'\\n\\n浏览器名称=\'+NV.name+
\'\\n\\n浏览器版本=\'+parseInt(NV.version)+
\'\\n\\n浏览器外壳=\'+NV.shell);
);
2.jQuery插件
(function($)
/*
判断浏览器名称和版本
目前只能判断:ie/firefox/chrome/opera/safari
2012年5月16日23:47:08
浏览器内核UA:$.NV(\'ua\');或$.NV(\'UA\');
浏览器内核名称:$.NV(\'name\');或$.NV();
浏览器内核版本:$.NV(\'version\');
浏览器外壳名称:$.NV(\'shell\');
*/
$.extend(
NV:function(name)
var NV = ;
var UA = navigator.userAgent.toLowerCase();
try
NV.name=!-[1,]?\'ie\':
(UA.indexOf("firefox")>0)?\'firefox\':
(UA.indexOf("chrome")>0)?\'chrome\':
window.opera?\'opera\':
window.openDatabase?\'safari\':
\'unkonw\';
catch(e);
try
NV.version=(NV.name==\'ie\')?UA.match(/msie ([\\d.]+)/)[1]:
(NV.name==\'firefox\')?UA.match(/firefox\\/([\\d.]+)/)[1]:
(NV.name==\'chrome\')?UA.match(/chrome\\/([\\d.]+)/)[1]:
(NV.name==\'opera\')?UA.match(/opera.([\\d.]+)/)[1]:
(NV.name==\'safari\')?UA.match(/version\\/([\\d.]+)/)[1]:
\'0\';
catch(e);
try
NV.shell=(UA.indexOf(\'360ee\')>-1)?\'360极速浏览器\':
(UA.indexOf(\'360se\')>-1)?\'360安全浏览器\':
(UA.indexOf(\'se\')>-1)?\'搜狗浏览器\':
(UA.indexOf(\'aoyou\')>-1)?\'遨游浏览器\':
(UA.indexOf(\'theworld\')>-1)?\'世界之窗浏览器\':
(UA.indexOf(\'worldchrome\')>-1)?\'世界之窗极速浏览器\':
(UA.indexOf(\'greenbrowser\')>-1)?\'绿色浏览器\':
(UA.indexOf(\'qqbrowser\')>-1)?\'QQ浏览器\':
(UA.indexOf(\'baidu\')>-1)?\'百度浏览器\':
\'未知或无壳\';
catch(e)
switch(name)
case \'ua\':
case \'UA\':br=UA;break;
case \'name\':br=NV.name;break;
case \'version\':br=NV.version;break;
case \'shell\':br=NV.shell;break;
default:br=NV.name;
return br;
);
)(jQuery);
$(function()
alert(\'浏览器UA=\'+$.NV(\'UA\')+
\'\\n\\n浏览器名称=\'+$.NV(\'name\')+
\'\\n\\n浏览器版本=\'+parseInt($.NV(\'version\'))+
\'\\n\\n浏览器外壳=\'+$.NV(\'shell\'));
);
参考技术A js判断后跳转就行了,但是你这个方法基本上不可行,原因很简单,就IE本身就有6/7/8/9/10不同的版本,每个版本也都有区别,然后浏览器除了你用的chrome,还有更常见的firefox,你难道要逐一处理,如果想在不同浏览器下兼容,最主要的是要通过html的兼容性检查,有很多网站和工具,百度一下 13个网页浏览器验证及兼容性测试工具本回答被提问者和网友采纳 参考技术B 如果不依靠js,貌似做不到吧,除非用条件注释,但是效果肯定不如js判断以上是关于如何用java判断浏览器类型的主要内容,如果未能解决你的问题,请参考以下文章