Domanda

Io ho un programma che non è compatibile con il lavoro utilizzando il browser IE8.

Sto cercando un modo per configurare Tomcat su cui questa corsa applicazione, in modo che le pagine potrebbero essere letti da IE8 e trattati come se fossero IE7 o IE6

Per googling finora ho trovato una possibile suggestione che dicono da aggiungere alla risposta HTTP l'intestazione: X-UA-Compatible: IE = EmulateIE7
qui

che raccontano IE8 per essere come IE7.

Il problema è che in questo modo richiede l'aggiunta di un filtro che deve essere aggiunto il livello di applicazione. Mi piacerebbe sapere se qualcuno di voi conosce un modo più generico che Tomcat consente di inviare il suo contenuto http essere IE7 (o IE6) compatibile?

È stato utile?

Soluzione

Tomcat è un web server general purpose e servlet container. E 'assolutamente browser agnostico così, non c'è modo di configurare in qualche modo speciale di trattare con IE.

Non c'è bisogno di aggiungere il filtro veramente. Il minimo indispensabile è quello di impostare la risposta di intestazione ovunque nel metodo "di servizio" (o doGet o doPost, qualunque cosa usi applicativi):

res.addHeader ( "X-UA-Compatible", "IE = EmulateIE7");

Ma questo è nel caso in cui ci sia un unico punto di ingresso nella applicazione server. In caso contrario, il filtro dovrebbe fare il lavoro in un modo migliore.

Altri suggerimenti

  1. Scarica URLRewriteFilter-4.0.3.jar da http://tuckey.org/urlrewrite/
  2. Aggiungi URLRewriteFilter-4.0.3.jar al WEB-INF / lib
  3. Aggiungi codice seguente al WEB-INF / web.xml
<filter>
<filter-name>UrlRewriteFilter</filter-name>
<filter-class>org.tuckey.web.filters.urlrewrite.UrlRewriteFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>UrlRewriteFilter</filter-name>
<url-pattern>/*</url-pattern>
<dispatcher>REQUEST</dispatcher>
<dispatcher>FORWARD</dispatcher>
</filter-mapping>
  1. Crea un nuovo file di configurazione per il modulo. (WEB-INF / urlrewrite.xml)
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE urlrewrite PUBLIC "-//tuckey.org//DTD UrlRewrite 4.0//EN" "http://www.tuckey.org/res/dtds/urlrewrite4.0.dtd">
<urlrewrite>
<rule><condition name="user-agent">.*MSIE.*</condition>
<set type="response-header" name="X-UA-Compatible">IE=EmulateIE7</set>
</rule>
</urlrewrite>

Vedere questo forum filo che discute esattamente la stessa situazione che si sta descrivendo. Sembra che un filtro è il modo migliore per andare. Come risposta al filo sopra suggerisce, è possibile utilizzare URL Rewrite .

Inoltre, se si utilizza Apache Web Server proxy di Tomcat, si potrebbe facilmente configurarlo per aggiungere qualsiasi intestazione alla risposta.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top