2011-07-18 37 views
6

Tôi cần xác định phiên bản trình duyệt nào người dùng đang sử dụng, tuy nhiên chế độ tương thích được bật theo mặc định cho toàn bộ công ty.Làm cách nào để xác định phiên bản trình duyệt chính xác khi chế độ tương thích được bật

Trên tập lệnh phía máy chủ, làm cách nào để xác định phiên bản trình duyệt thực?

Cảm ơn

Cập nhật Tôi đã có trang của tôi một cách chính xác cho thấy phiên bản IE sử dụng document.documentMode, tuy nhiên tôi không thể tìm ra cách để vượt qua này giao cho phía máy chủ để tôi có thể sử dụng nó .

+0

thể trùng lặp của [Detect IE8 Compatibility Mode] (http: // stackoverflow.com/questions/1328963/detect-ie8-compatibility-mode) –

+0

@Michael Làm thế nào để làm điều đó phía máy chủ mặc dù? Tôi sử dụng kết quả như một phần của truy vấn LINQ – Matt

Trả lời

2

document.documentMode trong javascript là giải pháp.

<script> 
alert(document.documentMode); 
<script> 
+0

trong trường hợp của tôi nó cũng sẽ cảnh báo 7 khi tôi đang sử dụng tức là 8 theo chế độ tương thích –

4

Request.Browser sẽ cung cấp cho bạn thông tin đầy đủ trình duyệt, nơi bạn có thể kiểm tra phiên bản, tên trình duyệt, loại trình duyệt, vv

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

Điều này không hoạt động khi trình duyệt đang sử dụng chế độ tương thích. Request.Browser.Version trả về 7.0 mặc dù tôi đang sử dụng IE9. Đây là những gì tôi đang cố gắng để có được khoảng – Matt

+0

@Matt Kiểm tra [link] này (http://blogs.msdn.com/b/ie/archive/2009/01/09/the-internet-explorer-8-user- agent-string-updated-edition.aspx) – V4Vendetta

0

Thay vì chế độ tương thích chiến đấu, bạn có thể tắt tính năng này cho ứng dụng web cụ thể của mình. Chúng tôi làm điều này trên tất cả các trang web của chúng tôi vì chế độ tương thích thực sự xoay rất nhiều thứ.

Force IE compatibility mode off using tags

+1

Tôi đã có một vết nứt ở đó, nhưng tôi không thể làm cho nó hoạt động. Tôi sẽ xem xét nó hơn nữa mặc dù vì nó là một phiên bản thanh lịch hơn so với những gì tôi đã có. – Matt

0

Sử dụng HttpContext.Current.Request.UserAgent trên máy chủ nếu trên máy khách sau đó sử dụng navigator.userAgent và sau đó hướng dẫn từ bên dưới IE7 không có từ khóa đinh ba nhưng ie8 là đinh ba/4 và IE5 là đinh ba/5 .

Cái nhìn đầu tiên cho MSIE x.x, nếu x.x là 7 thì hãy tìm Trident/y.y. Nếu đinh ba là mất tích sau đó nó IE7 nếu yy là 4 thì IE8 của nó và nếu yy là 5 sau đó ie9 và nếu yy là 6 thì IE10

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

Các vấn đề liên quan