在开发过程中,有时候我们需要检测浏览器及版本,做出相对应的处理。
例如,访问百度时,百度会判断你所使用的浏览器是PC端还是Mobile Phone端,自动跳转到适当的页面。
下面介绍几种检测浏览器属性的方法:
1、js
使用navigator对象
<script>
var txt="<p>Browser CodeName: "+navigator.appCodeName+"</p>";
txt +="<p>Browser Name: "+navigator.appName+"</p>";
txt +="<p>Browser Version: "+navigator.appVersion+"</p>";
txt +="<p>Cookies Enabled: "+navigator.cookieEnabled+"</p>";
txt +="<p>Platform: "+navigator.platform+"</p>";
txt +="<p>User-agent header:"+navigator.userAgent+"</p>";
document.write(txt);
document.write("<br />MinorVersion=" + x.appMinorVersion);
document.write("<br />CPUClass=" + x.cpuClass);
document.write("<br />OnLine=" + x.onLine);
document.write("<br />BrowserLanguage=" + x.browserLanguage);
document.write("<br />SystemLanguage=" + x.systemLanguage);
document.write("<br />UserLanguage=" + x.userLanguage);
</script>
上面appVersion属性返回的字符串不止是版本号,可以使用parseFloat()函数抽取版本号。
2、jQuery
<script src="http://code.jquery.com/jquery-1.6.4.min.js"></script>
<script type="text/javascript">
$(document).ready(function(){
var bro=$.browser;
var binfo="";
if(bro.msie) {binfo="Microsoft Internet Explorer "+bro.version;}
if(bro.mozilla) {binfo="Mozilla Firefox "+bro.version;}
if(bro.safari) {binfo="Apple Safari "+bro.version;}
if(bro.opera) {binfo="Opera "+bro.version;}
$("#browser").html(binfo);
})
</script>
3、Servlet
String agent = request.getHeader("user-agent");
System.out.print(agent);