Bạn hiện đang ngoại tuyến, hãy chờ internet để kết nối lại

Làm thế nào để xác định phiên bản trình duyệt từ một kịch bản

QUAN TRỌNG: Bài viết này được dịch bằng phần mềm dịch máy của Microsoft chứ không phải do con người dịch. Microsoft cung cấp các bài viết do con người dịch và cả các bài viết do máy dịch để bạn có thể truy cập vào tất cả các bài viết trong Cơ sở Kiến thức của chúng tôi bằng ngôn ngữ của bạn. Tuy nhiên, bài viết do máy dịch không phải lúc nào cũng hoàn hảo. Loại bài viết này có thể chứa các sai sót về từ vựng, cú pháp hoặc ngữ pháp, giống như một người nước ngoài có thể mắc sai sót khi nói ngôn ngữ của bạn. Microsoft không chịu trách nhiệm về bất kỳ sự thiếu chính xác, sai sót hoặc thiệt hại nào do việc dịch sai nội dung hoặc do hoạt động sử dụng của khách hàng gây ra. Microsoft cũng thường xuyên cập nhật phần mềm dịch máy này.

Nhấp chuột vào đây để xem bản tiếng Anh của bài viết này:167820
Khước từ Nội dung trong Cơ sở Kiến thức Không còn được hỗ trợ
Bài viết này nói về các sản phẩm mà Microsoft không còn hỗ trợ nữa. Do đó, bài viết này được cung cấp "nguyên bản" và sẽ không được cập nhật.
TÓM TẮT
Với các tính năng mới mà Internet Explorer 4.0 cung cấp, cóhấp dẫn cho cả hai phía khách hàng và server-side script để xác địnhPhiên bản trình duyệt, do đó một ứng dụng Web có thể hoặc tận dụng lợi thế củachức năng mới, hoặc làm suy thoái gracefully, tùy thuộc vào phiên bản của cáctrình duyệt hiện đang hoạt động.

QUAN TRỌNG: Các phương pháp được sử dụng trong bài viết này dựa trên trang Web nhận được chuỗi "http_user_agent" chính xác cho các trình duyệt mà kết nối với các trang web. Một số máy chủ proxy và các trình duyệt có thể gửi thông tin đó là không chính xác hoặc rất khó để giải thích. Ví dụ, chuỗi HTTP_USER_AGENT mặc định rằng Opera 5.12 trả về là "Mozilla/4.0 (tương thích; MSIE 5.0; <operating system="">) Opera 5.12 [vi] ". Chuỗi này là khó có thể giải thích vì phần đầu tiên của chuỗi là giống như chuỗi đó trả về Internet Explorer 5.</operating>

Nếu bạn cần phải nhận ra duy nhất trình duyệt Internet Explorer phiên bản 5 trở lên (trên Microsoft Win32 và Unix nền tảng chỉ), sử dụng các isComponentInstalled hoặc getComponentVersion phương pháp của hành vi CLIENTCAPS. Thông tin về những phương pháp này, xem các trang Web Microsoft sau đây:LƯU Ý: Những phương pháp này sẽ thất bại nếu khách hàng không phải là Internet Explorer 5 hoặc sau này (Microsoft Win32 và Unix nền tảng chỉ).
THÔNG TIN THÊM

Từ một kịch bản phía máy khách

Chức năng JScript dưới đây có thể được sử dụng để xác định phiên bản của cáctrình duyệt nó chạy từ một kịch bản phía máy khách. Chức năng chạy trênphần lớn các trình duyệt hiện đang có sẵn và trả về chuyên ngànhsố phiên bản cho bất kỳ trình duyệt Microsoft Internet Explorer, và số không (0)Đối với những người khác. Sử dụng các chức năng này đảm bảo rằng các tập lệnh sẽ được tương thíchvới phiên bản tương lai của Internet Explorer.
   // This function returns Internet Explorer's major version number,   // or 0 for others. It works by finding the "MSIE " string and   // extracting the version number following the space, up to the decimal   // point, ignoring the minor version number   <SCRIPT LANGUAGE="JavaSCRIPT">   function msieversion()   {      var ua = window.navigator.userAgent      var msie = ua.indexOf ( "MSIE " )      if ( msie > 0 )      // If Internet Explorer, return version number         return parseInt (ua.substring (msie+5, ua.indexOf (".", msie )))      else                 // If another browser, return 0         return 0   }   </SCRIPT>				
Khi kiểm tra các con số phiên bản, kịch bản nên luôn luôn sử dụng các > = nhà điều hành, thay vì các = nhà điều hành để đảm bảo khả năng tương thích với các phiên bản trong tương lai. Hiện có kịch bản cụ thể kiểm tra cho userAgent tương đương với "msie 3," ví dụ, nên được thay đổi để sử dụng các > = nhà điều hành để cho các kịch bản công nhận Internet Explorer 4.0 là tốt.

Ví dụ sau đây chứng tỏ làm thế nào để phát hiện các phiên bản trình duyệt từ mộtkịch bản phía máy khách. Lưu ý rằng ví dụ này không cụ thể kiểm tra choPhiên bản nền tảng, như Windows 95, Windows NT, Windows 3.1, và vv, mà đòi hỏi phải có một kiểm tra chuỗi con userAgent riêng biệt, khi áp dụng:
<SCRIPT LANGUAGE="javascript">   if ( msieversion() >= 4 )      document.write ( "This is Internet Explorer 4 or later" );   else if ( msieversion() >= 3 )      document.write ( "This is Internet Explorer 3" );   else      document.write ( "This is another browser" );   </SCRIPT>				

Từ một kịch bản phía máy chủ

LƯU Ý: The Request.ServerVariables("HTTP_USER_AGENT") phương pháp có thể được dùng thay thế BrowserType đối tượng trong kịch bản phía máy chủ. Để biết thêm chi tiết, bấm vào số bài viết dưới đây để xem bài viết trong cơ sở kiến thức Microsoft:
272413 Làm thế nào để xác định loại trình duyệt của kịch bản phía máy chủ mà không có đối tượng BrowserType
Các thành phần khả năng trình duyệt mà đi kèm với Active Server Pages (ASP)cung cấp cho các kịch bản với một mô tả về khả năng của cáctrình duyệt Web của khách hàng bằng cách so sánh phần đầu của HTTP đại lý người dùng với cácmục có trong BROWSCAP.Tập tin này. Để cho một ứng dụng ASP để phát hiệncủa trình duyệt hỗ trợ cho các chức năng của Internet Explorer 4.0 mới, bản sao cácmới nhất BROWSCAP.NÀY từ Cyscape Web site sau:Sao chép nó vào thư mục %windows%\system32\inetsrv\asp\cmpnts của bạn và thực hiệnmột kịch bản phía máy chủ tương tự như ví dụ dưới đây.

Ví dụ này cụ thể tận của mới HTML động chức năngNếu trình duyệt hiện tại là Internet Explorer 4.0 hoặc cao hơn:
<HTML><BODY>   <%  Set bc = Server.CreateObject("MSWC.BrowserType") %>   <table border=0 cellspacing="0" cellpadding="5">      <tr>         <% If bc.browser = "IE" and bc.version >= 4 Then %>         <td><a href="chocolate.htm" TARGET="_TEXT"              onmouseover="this.style.color='red'"              onmouseout="this.style.color='purple'">chocolate</a>         </td>         <% Else %>            <td><a href="chocolate.htm" TARGET="_TEXT">chocolate</a></td>         <% End If %>         <td>|</td>         <% If bc.browser = "IE" and bc.version >= 4 Then %>         <td><a href="vanilla.htm" TARGET="_TEXT"              onmouseover="this.style.color='red'"              onmouseout="this.style.color='purple'">vanilla</a>         </td>         <% Else %>            <td><a href="vanilla.htm" TARGET="_TEXT">vanilla</a></td>         <% End If %>      </tr>   </table></BODY></HTML>				
THAM KHẢO
Tham khảo các thành phần trong hoạt động lộ trình Pages (ASP) Server
phát hiện xác minh kiểm tra

Cảnh báo: Bài viết này đã được dịch tự động

Thuộc tính

ID Bài viết: 167820 - Xem lại Lần cuối: 08/19/2011 07:33:00 - Bản sửa đổi: 2.0

  • kbfaq kbhowto kbscript kbmt KB167820 KbMtvi
Phản hồi