我知道您可以使用以下 JSP 代码检测您的浏览器是否为 IE:
request.getHeader( "User-Agent" );
但是无论如何我可以检测它是否是IE6?
我知道您可以使用以下 JSP 代码检测您的浏览器是否为 IE:
request.getHeader( "User-Agent" );
但是无论如何我可以检测它是否是IE6?
使用这个列表看起来你正在寻找的魔法字符串是
"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 请求(取自他们的 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;
}
试试这个javascript代码,
if(/msie|MSIE 6/.test(navigator.userAgent)){
alert("IE 6");
}