浏览器版本:前后端判断

来源:互联网 发布:coc数据 编辑:程序博客网 时间:2024/06/16 15:05

Java后台具体解决方法

1 通过request.getHeader()方法获得http的头信息,其中User-Agent属性记录了当前使用的浏览器版本和操作系统信息。

2 根据不同浏览器版本,进行不同字符转码


具体实现          

String reqBrowser = req.getHeader("User-Agent");   通过reqBrowser可以获得不同浏览器的不同信息:

 Firefox:  Mozilla/5.0 (Windows NT 6.1; rv:35.0) Gecko/20100101 Firefox/35.0  Google Chrome:  Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/40.0.2214.93 Safari/537.36  IE:  Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.1; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729)  360浏览器: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.1; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729)

String fileName = null;

Firefox浏览器: if(reqBrowser.toLowerCase().indexOf("firefox")>0)

fileName= new String(fileid.getBytes("UTF-8"), "ISO8859-1");

其它浏览器: fileName=URLEncoder.encode(fileid,"UTF-8");


Java判断浏览器版本与类型

public static void main(String[] args) {
             String agent=request.getHeader("User-Agent").toLowerCase();
             System.out.println(agent);
             System.out.println("浏览器版本:"+getBrowserName(agent));

 }

 

/**
  * 获取浏览器版本信息
  * @Title: getBrowserName
  * @data:2015-1-12下午05:08:49
  * @author:wolf
  *
  * @param agent
  * @return
  */

public String getBrowserName(String agent) {
  if(agent.indexOf("msie 7")>0){
   return "ie7";
  }else if(agent.indexOf("msie 8")>0){
   return "ie8";
  }else if(agent.indexOf("msie 9")>0){
   return "ie9";
  }else if(agent.indexOf("msie 10")>0){
   return "ie10";
  }else if(agent.indexOf("msie")>0){
   return "ie";
  }else if(agent.indexOf("opera")>0){
   return "opera";
  }else if(agent.indexOf("opera")>0){
   return "opera";
  }else if(agent.indexOf("firefox")>0){
   return "firefox";
  }else if(agent.indexOf("webkit")>0){
   return "webkit";
  }else if(agent.indexOf("gecko")>0 && agent.indexOf("rv:11")>0){
   return "ie11";
  }else{
   return "Others";
  }
 }



1、JavaScript语言判断IE浏览器版本

function getBrowserVersion(){
 var browser=navigator.userAgent.toLowerCase(); 
 alert(navigator.appName);  //浏览器名称  
 var bro=browser.match(/msie ([\d.]+)/);  //IE浏览器
 bro=browser.match(/firefox\/([\d.]+)/);  //火狐浏览器
bro=browser.match(/chrome\/([\d.]+)/);   //谷歌浏览器

if(bro!=null){
    alert(bro[0]);  //浏览器信息
    alert(bro[1]);  //浏览器版本<br>  alert("您正在使用的是IE浏览器,浏览器版本是"+bro[1]);<br> }
}

属性概览
appCodeName 指定浏览器的代码名称。
appName 指定浏览器的名称。
appVersion 指定 Navigator 的版本信息。
language 标明正在使用的 Navigator 的翻译语种。
mimeTypes 客户端支持的所有 MIME 类型数组。
platform 标明了 Navigator 编译适合的机器类型。
plugins 客户端已安装的所有插件数组。

userAgent 指定了用户代理头。


方法概览
javaEnabled 测试是否允许 Java
plugins.refresh 使新安装的插件有效,并可选重新装入已打开的包含插件的文档。
preference 允许一个已标识的脚本获取并设置特定的 Navigator 参数。
taintEnabled 指定是否允许数据污点。
简单标注一下,判断浏览器的名称可以根据appName判断,例如:

var ie=navigator.appName == “Microsoft Internet Explorer” ? true : false;


2、jQuery语言判断IE浏览器版本(必须在页面上引用jQuery.1.**.js)

if($.browser.msie){
   alert("您正在使用IE浏览器,浏览器的版本是"+$.browser.version);  
}else if($.browser.mozilla){
 alert("您正在使用火狐浏览器,浏览器的版本是"+$.browser.version);
}else if($.browser.safari){
 alert("您正在使用谷歌浏览器,浏览器的版本是"+$.browser.version)
}

原创粉丝点击