JSP IE6检测

时间:2013-03-13 05:34:49

标签: java html internet-explorer jsp

我知道您可以使用以下JSP代码检测您的浏览器是否为IE:

request.getHeader( "User-Agent" );

但无论如何我能检测到它是否是IE6?

3 个答案:

答案 0 :(得分:3)

使用this list它看起来像你正在寻找的神奇字符串

"MSIE 6."

所以这对你有用:

boolean is_IE6 = user_agent.indexOf("MSIE 6.") > -1;

或者把所有内容放在JSP中:

<% boolean is_IE6 = request.getHeader("user-agent").indexOf("MSIE 6.") > -1;
   if(is_IE6) { %>
  Some IE 6 Thing
<% } else { %>
  Some non IE 6 Thing
<% } %>

使用名为WURFL的库有一种“更正确的方法”(这被称为服务器端设备检测)。 WURFL使用扩展的用户代理和设备功能数据库,并允许您根据发出请求的设备响应HTTP请求,并使用这样的代码(取自documentation of the Java API):

WURFLHolder wurfl = (WURFLHolder)getServletContext().getAttribute(WURFLHolder.class.getName());

WURFLManager manager = wurfl.getWURFLManager();

Device device = manager.getDeviceForRequest(request);

log.debug("Device: " + device.getId());
log.debug("Capability: " + device.getCapability("preferred_markup"));

MarkUp markUp = device.getMarkUp();

String jspView = null;

if (MarkUp.XHTML_ADVANCED.equals(markUp)) {
  jspView = XHTML_ADV;
} else if (MarkUp.XHTML_SIMPLE.equals(markUp)) {
  jspView = XHTML_SIMPLE;
} else if (MarkUp.CHTML.equals(markUp)) {
  jspView = CHTML;
} else if (MarkUp.WML.equals(markUp)) {
  jspView = WML;
}

答案 1 :(得分:1)

您可以使用Conditional comments

例如:

<!--[if IE 6]>    
// IE 6 detected    
<![endif]-->

答案 2 :(得分:0)

试试这个javascript代码,

        if(/msie|MSIE 6/.test(navigator.userAgent)){
            alert("IE 6"); 
        }