2013-03-05 61 views
0

有沒有什麼辦法可以在java servlet上了解IE文件模式。顯然,我試圖使用「User-Agent」字符串獲取瀏覽器信息,但是我無法從中獲取文檔模式。在java端IE10文件模式

+0

你檢查嗎? http://stackoverflow.com/questions/12383511/ie10-setting-specific-browser-document-modes – home 2013-03-05 13:51:00

+0

我需要在java代碼端的文檔模式。我不打算在瀏覽器端更改文檔模式 – 2013-03-05 14:06:13

回答

0

要獲取IE的文檔模式,請使用下面的Servlet類。

代碼:

公共類DocumentModeOfIE延伸的HttpServlet {

private String documentMode; 

public void init(ServletConfig config) throws ServletException { 

} 

public void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { 

     PrintWriter out = resp.getWriter(); 
     resp.setContentType("text/html"); 
     documentMode = req.getHeader("X-UA-Compatible"); 

     out.println(documentMode); 
} 


public void destroy() { 
} 

}

==============設置IE文檔模式爲特定標準模式(即IE 7 0R IE8)==============

代碼:

用F ILTER ....

過濾器類別:

公共類UserAgentCompatibleFilter實現javax.servlet.Filter的{

private Logger log = Logger.getLogger("UserAgentCompatibleFilter"); 
private String compatibilityMode; 

public void destroy() { 
} 

public void doFilter(ServletRequest req, ServletResponse resp, FilterChain chain) throws ServletException, IOException { 
    if (compatibilityMode != null) { 
     HttpServletResponse res = (HttpServletResponse) resp; 
     res.addHeader("X-UA-Compatible", compatibilityMode); 
    } 
    chain.doFilter(req, resp); 
} 

public void init(FilterConfig config) throws ServletException { 
    compatibilityMode = config.getInitParameter("compatibilityMode"); 
    if (compatibilityMode == null) { 
     log.warn("No CompatibilityMode set for UserAgentCompatibleFilter, thus disabling it"); 
    } 
} 

}

web.xml中:

HTTP:/ /java.sun.com/xml/ns/javaee/web-app_2_5.xsd「 version =」2.5「>

<!-- filter component start --> 

<filter> 
    <filter-name>UserAgentCompatibleFilter</filter-name> 
    <filter-class>com.standardandpoors.ata.web.UserAgentCompatibleFilter</filter-class> 
    <init-param> 
     <param-name>compatibilityMode</param-name> 
     <param-value>IE=8</param-value> 
    </init-param> 
</filter> 

<filter-mapping> 
    <filter-name>UserAgentCompatibleFilter</filter-name> 
    <url-pattern>/*</url-pattern> 
</filter-mapping> 

<!-- filter component end --> 

我希望這將幫助ü最......