通过agent判断浏览器版本救命分享
识别浏览器版本:JSP中的Agent判断示例
在JSP开发中,我们经常需要根据不同的浏览器版本进行特定的页面适配。今天,我将为大家展示如何通过agent来判断浏览器版本。这是一个非常实用的技巧,希望能对大家有所帮助。
让我们看一下代码示例:
```java
public static String getBrowser(String userAgent) {
if (userAgent == null || userAgent.trim().length() < 1) {
return "未知浏览器";
}
// 预定义常见的浏览器英文名和中文名
String[] browsersEN = {
"MyIE2", "Firefox", "KuGouSoft", "LBBROWSER", "TheWord", "QQ", "Maxthon", "BIDUPlayerBrowser", "Opera", "Chrome", "Safari", "9A334", "UCWEB", "googlebot", "rv 11.0"
};
String[] browsersCN = {
"MyIE2", "Firefox", "酷狗", "猎豹", "世界之窗", "QQ浏览器", "傲游", "百度影音浏览器", "Opera", "Chrome", "Safari", "360浏览器", "UCWEB浏览器", "googlebot爬虫", "IE 11.0"
};
// 遍历所有预定义的浏览器名,查找匹配的浏览器中文名并返回
for (int i = 0; i < browsersEN.length; i++) {
if (userAgentdexOf(browsersEN[i]) > -1) {
return browsersCN[i];
}
}
// 如果找不到匹配的浏览器名,则尝试通过MSIE关键字判断IE浏览器的版本并返回对应的中文名
if (userAgentdexOf("MSIE") > -1) {
if (userAgentdexOf("MSIE 9.0") > -1) {
return "IE 9.0";
} else if (userAgentdexOf("MSIE 10.0") > -1) {
return "IE 10.0";
} else if (userAgentdexOf("MSIE 8.0") > -1) {
return "IE 8.0";
} else if (userAgentdexOf("MSIE 7.0") > -1) {
return "IE 7.0";
} else if (userAgentdexOf("MSIE 6.0") > -1) {
return "IE 6.0";
} else { // 其他版本或未知IE版本,统一返回"IE"作为标识。注意这里可以进一步细化处理。例如添加默认版本等。此处仅为示例代码。请根据实际情况进行修改。返回"IE"。} return "IE"; } return "未知浏览器"; } `public static String getBrowser(String userAgent) { if (StringUtils.isBlank(userAgent)) { return "未知浏览器"; } String browserName = ""; String[] browserNames = userAgent.split(";"); for (String str : browserNames) { if (str != null && str.equalsIgnoreCase("mozilla")) { browserName = str.split(" ") [str.split(" ").length - 1]; break; } else if (str != null && str.equalsIgnoreCase("opera")) { browserName = str.split(" ") [str.split(" ").length - 2]; break; } else if (str != null && str.equalsIgnoreCase("msie")) { browserName = str.split(" ") [str.split(" ").length - 2]; break; } else if (str != null && str.equalsIgnoreCase("chrome")) { browserName = str; break; } else if (str != null && str.equalsIgnoreCase("safari")) { browserName = str; break; } else if (str != null && str.equalsIgnoreCase("firefox")) { browserName = str; break; } else if (str != null && str.equalsIgnoreCase("maxthon")) { browserName = str; break; } else if (str != null && str.equalsIgnoreCase("qqbrowser")) { browserName = str; break; } } switch (browserName){ case ("Chrome"): return "谷歌浏览器"; case ("Firefox"): return "火狐浏览器"; case ("Safari"): return "Safari浏览器"; case ("Opera"): return "Opera浏览器"; case ("msie"): case ("MyIE"): return "未知版本IE浏览器"; case ("maxthon"): return "傲游浏览器"; case ("qqbrowser"): return "QQ浏览器"; default: return "未知浏览器"; }}```这段代码的主要功能是接收一个user agent字符串作为输入参数,然后根据该字符串识别出用户所使用的浏览器的名称及版本信息。对于不同的浏览器,识别方式也不同。