2011-07-18 15 views
6

Muszę określić, której wersji przeglądarki używa użytkownik, jednak tryb zgodności jest domyślnie włączony dla całej firmy.Jak określić poprawną wersję przeglądarki, gdy włączony jest tryb zgodności

W skrypcie po stronie serwera, jak określić rzeczywistą wersję przeglądarki?

Dzięki

Aktualizacja mam moja strona poprawnie pokazując wersję IE przy użyciu document.documentMode, jednak nie mogę dowiedzieć się, jak przekazać to na stronę serwera, więc można go używać .

+0

możliwe duplikat [Wykrywanie IE8 trybu zgodności] (http: // stackoverflow.com/questions/1328963/detect-ie8-compatibility-mode) –

+0

@Michael Jak jednak zrobić to po stronie serwera? Używam wyniku jako części zapytania Linq – Matt

Odpowiedz

2

document.documentMode w javascript było rozwiązaniem.

+0

w moim przypadku będzie to również ostrzeżenie 7, gdy używam, np. 8 w trybie zgodności –

4

Request.Browser daje pełną informację przeglądarki, gdzie można sprawdzić wersję, nazwę przeglądarki, typ przeglądarki itp

Request.Browser.Version // Return complete browser version infor 
Request.Browser.Browser // If browser is IE then it will return **IE** 
+2

To nie działa, gdy przeglądarka korzysta z trybu zgodności. Request.Browser.Version zwraca 7.0, mimo że używam IE9. To właśnie próbuję obejść – Matt

+0

@Matt Sprawdź to [link] (http://blogs.msdn.com/b/ie/archive/2009/01/09/the-internet-explorer-8-user- agent-string-updated-edition.aspx) – V4Vendetta

0

Zamiast zwalczać tryb zgodności, możesz wyłączyć tę opcję dla swojej aplikacji internetowej. Robimy to we wszystkich naszych witrynach, ponieważ tryb zgodności naprawdę wkręca wiele rzeczy.

Force IE compatibility mode off using tags

+1

Miałem pęknięcie, ale nie mogłem sprawić, żeby działało. Przyjrzę się temu dalej, ponieważ jest to bardziej elegancka wersja niż ta, którą mam obecnie. – Matt

0

Zastosowanie HttpContext.Current.Request.UserAgent na serwerze, czy na kliencie to użytkownikowi navigator.userAgent a następnie instrukcje od dołu IE7 ma kluczowe trójząb ale IE8 jest trójząb/4 i IE5 jest trójząb/5 .

Najpierw wyszukaj MSIE x.x, jeśli x.x to 7, poszukaj Trident/y.y. Jeśli brakuje Trident następnie jeśli to IE7 yy wynosi 4 to jej IE8 jeśli rr jest 5 następnie ie9 jeśli yy wynosi 6, a następnie IE10

http://blogs.msdn.com/b/ie/archive/2010/03/23/introducing-ie9-s-user-agent-string.aspx

Powiązane problemy