假設你在多年前有開發網頁(IE 6,7版本),到現在新的瀏覽器如果還想順利運作這些程式,
也許可以透過相容性檢視設定來達到系統的正常運作!
方法一:
雖然可以在<head></head>之間加入meta tag,但是如果頁面一多就必須得一一加入,實在
不是有效率的方法。
<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7"/>
因此在這邊將以Java Web為例子來解決這個部分。首先,我們可以透過在web.xml內設
定過濾器來達到在進入每個頁面之前,由server端的某一支程式先動作,即回應一header
設定,在此回應之中加入我們要設定的meta tag。如此一來,在載入頁面之前就可以達到設
定好相容性檢視。
Java程式如下:
web.xml設定:
url-pattern 設定成/*,表示針對所有的瀏覽頁面。
也許可以透過相容性檢視設定來達到系統的正常運作!
方法一:
雖然可以在<head></head>之間加入meta tag,但是如果頁面一多就必須得一一加入,實在
不是有效率的方法。
<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7"/>
方法二:
透過瀏覽器直接將該網站加入至相容性檢視的清單內,雖然可以一勞永逸,但是就必須得
請使用者做這個動作,也不是一個有效的方法!
因此在這邊將以Java Web為例子來解決這個部分。首先,我們可以透過在web.xml內設
定過濾器來達到在進入每個頁面之前,由server端的某一支程式先動作,即回應一header
設定,在此回應之中加入我們要設定的meta tag。如此一來,在載入頁面之前就可以達到設
定好相容性檢視。
Java程式如下:
package com.myfilter;
public class CompatibilityFilter implements Filter {
@Override
public void destroy() {
// TODO Auto-generated method stub
}
@Override
public void doFilter(ServletRequest request, ServletResponse response,
FilterChain chain) throws IOException, ServletException {
HttpServletResponse res = (HttpServletResponse) response;
res.addHeader("X-UA-Compatible", "IE=EmulateIE7");
chain.doFilter(request, res);
}
@Override
public void init(FilterConfig arg0) throws ServletException {
}
}
web.xml設定:
<filter>
<filter-name>CompatibilityFilter</filter-name>
<filter-class>com.myfilter.CompatibilityFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>CompatibilityFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
url-pattern 設定成/*,表示針對所有的瀏覽頁面。
留言
張貼留言