次の 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");
}