IE 11:如何使用Java检测浏览器版本IE 11?

5

大家都知道IE 11已经发布了!!在此之前,为了检测Java中的浏览器版本,使用的是"getHttpServletRequest().getHeader("User-Agent")"。这可以提供浏览器名称和版本信息。但是,在引入IE 11后,User Agent MSIE被移除了。那么我们如何在Java中获取IE的版本呢?

如果有任何帮助,将对我有很大帮助...

谢谢...


java.lang.ArrayIndexOutOfBoundsException - ELAYARAJA
1
他在询问如何获取版本,而不是为什么出错...为什么要踩? - Itay Moav -Malimovka
@Itay Moav-Malimovka,你说得对。感谢你的支持。我想问一下如何获取IE 11版本。我不知道为什么会有负评。好吧,有人能给我解决方案吗?我觉得我可能太晚了,因为IE 11发布已经快4个月了! - ELAYARAJA
2种可能性 - 要么IE没有发送用户代理(非常不可能),要么你的代码中有错误。发布代码将有助于排查问题。 - radai
@radai,好的,IE浏览器在IE 11之后不再支持“MSIE”。以下是我的检测版本的代码:String browser[] = null; String information=(String)browserMessage.getHttpServletRequest().getHeader("User-Agent"); String browserObj = com.browser.util.Util.getBrowserInfo(information); BigDecimal browserversion = new BigDecimal("0"); browser = browserObj.split("-");如果(browser[0].equals("MSIE")) { } - ELAYARAJA
1个回答

2
getHttpServletRequest().getHeader("User-Agent")

这段代码不应该抛出nullpointerexception异常,而是应该返回文本。
Mozilla/5.0 (Windows NT 6.3; Trident/7.0; rv:11.0) like Gecko 

在标准模式下,适用于IE 11。
Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.3; Trident/7.0; .NET4.0E; .NET4.0C)

在兼容性视图下。如果您愿意,可以将它们匹配起来。但是,正如在这篇文章中所提到的,不推荐使用用户代理嗅探技术。

在我的应用程序中,我们使用IE仿真功能,因此不可能获取IE的最新版本。我们始终获得IE 7版本。有任何建议吗? - ELAYARAJA
@Ilayaraja 我不明白,为什么不可能呢? - eis

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接