Mam aplikację sieci web .Net, która zawiera ustawienie web.config, aby wymusić na przeglądarce Internet Explorer wyłączenie trybu zgodności i użycie najnowszej wersji IE dostępny:Zastąpienie ustawienia zgodnego z X-UA w pliku web.config dla określonych stron i ramek
<system.webServer>
<httpProtocol>
<customHeaders>
<add name="X-UA-Compatible" value="IE=Edge" />
</customHeaders>
</httpProtocol>
</system.webServer>
Jednak ta aplikacja zawiera starszą stronę, która wymaga trybu zgodności. W moich testach będzie on poprawnie wyświetlany tylko wtedy, gdy X-UA-Compatible
ustawiono na IE=5
.
Czy istnieje sposób na przesłonięcie ustawienia web.config dla pojedynczej strony?
Wśród wielu rzeczy próbowałem, które nie pracowały:
- Łącznie
<meta http-equiv="X-UA-Compatible" content="IE=5" />
na samej stronie, jako pierwszy tag po<head>
- Dodawanie
X-UA-Compatible:IE=5
do nagłówków odpowiedzi. Niestety, wysyła również nagłówekX-UA-Compatible:IE=Edge
, a ten "wygrywa". - Zmiana numeru
<!DOCTYPE >
. Próbowałem wszystkich różnych opcji. - Dodawanie komentarza przed DOCTYPE
- Ponowne napisanie strony, aby była zgodna ze standardami. Jest to oczywiście najlepsze rozwiązanie, ale dana strona jest złożoną aplikacją do mapowania, a jej ponowne zapisanie zajmie kilka miesięcy.
Aktualizacja
Gdy zadzwoniłem to „złożony wniosek mapping” Powinienem powiedzieć „gniazdo szczura ramek i tabel.” Okazuje się, że część ramy była odpowiednia dla rozwiązania.
Czy próbowałeś najpierw usunąć istniejący nagłówek zgodny z X-UA, zanim dodasz drugi z kolekcji nagłówków? Czy próbowałeś również całkowicie usunąć doctype? –
Próbowałem już obu tych sugestii, ale Twoja sugestia, by wyczyścić nagłówki, zachęciła mnie do wypróbowania tego samego na wszystkich klatkach, więc dziękuję! – xcer