簡體   English   中英

JSP IE6檢測

[英]JSP IE6 detection

我知道您可以使用以下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;
}

您可以使用條件注釋

例如:

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

試試這個javascript代碼,

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM