Как определить версию обозревателя, с помощью сценария

Переводы статьи Переводы статьи
Код статьи: 167820
Развернуть все | Свернуть все

В этой статье

Аннотация

С новыми возможностями, которые предоставляет Internet Explorer 4.0 возможно для клиентских и серверных сценариев для определения версии обозревателя, таким образом, чтобы веб-приложения, можно либо воспользоваться преимуществами новые функциональные возможности или опустить, в зависимости от версии в настоящее время работы обозревателя.

ВАЖНЫЕ: Методы, используемые в этой статье используют веб-узла, получение правильными «http_user_agent» для обозревателей, которые подключаются к веб-узла. Некоторые прокси-серверов и обозревателей могут отправлять сведения неверны или сложной для понимания. Например Opera 5.12 возвращается строка HTTP_USER_AGENT по умолчанию — "Mozilla/4.0 (совместимый; MSIE 5.0; <operating system="">) Opera 5.12 [en] ". Эта строка сложно интерпретировать, так как первая часть строки, такой же, как строки, возврат Internet Explorer 5.</operating>

Если необходимы для однозначной идентификации обозревателя Internet Explorer версии 5 или более поздней версии (на Microsoft Win32 и Unix платформах только) isComponentInstalled -или- getComponentVersion методы CLIENTCAPS поведение. Сведения об этих методах содержатся в разделе веб-узлов корпорации Майкрософт:
http://msdn2.Microsoft.com/en-us/library/ms531357.aspx

http://msdn2.Microsoft.com/en-us/library/ms531350.aspx
ПРИМЕЧАНИЕ: Если клиент не Internet Explorer 5 или более поздней версии (Microsoft Win32 и Unix платформ только) не удастся эти методы.

Дополнительная информация

Из клиентского сценария

Функция JScript можно использовать для определения версии обозреватель, он выполняется с помощью клиентского сценария. Функция работает на большую часть доступных обозревателей и возвращает основной номер версии для любого обозревателя Microsoft Internet Explorer и нуль (0) для других пользователей. Функция гарантирует, что сценарий будет совместим в будущих версиях 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>
				
При проверке номера версий, следует всегда использовать сценарии > = оператор, а не оператор для обеспечения совместимости с будущими версиями =. Существующие сценарии, которые специально проверяют userAgent равно «MSIE 3», в частности, должны будут изменены для использования > так, чтобы сценарии Internet Explorer 4.0, так и оператор =.

Приведенный ниже показано, как определить версию обозревателя клиентский сценарий. Обратите внимание, что этот пример не будет проверять специально для версия платформы, такие как Windows 95, Windows NT, Windows 3.1 и так далее, требующих проверки подстроки отдельных userAgent, при наличии:
<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>
				

Из сценария на стороне сервера

ПРИМЕЧАНИЕ: Request.ServerVariables("HTTP_USER_AGENT") метод может использоваться вместо BrowserType объект в сценарии на стороне сервера. Для получения дополнительных сведений щелкните следующий номер статьи базы знаний Майкрософт:
272413 Определение типа обозревателя в серверном сценарии без объекта BrowserType
Компонент возможности обозревателя, который поставляется с Active Server Pages (ASP) содержит сценарии с описанием возможностей веб-обозревателем клиента путем сравнения заголовка агента пользователя HTTP с записи в BROWSCAP.INI-файл. Чтобы приложение ASP для обнаружения в обозревателе поддержку новых возможностей Internet Explorer 4.0, копировать последнюю версию BROWSCAP.INI из Cyscape веб-узла:
http://www.cyscape.com/ASP/browscap/
Скопируйте его в каталог %windows%\system32\inetsrv\asp\cmpnts и выполнение серверный сценарий, аналогичный приведенному ниже примеру.

В данном примере специально использует новые функциональные возможности динамического HTML Если текущий обозреватель Internet Explorer версии 4.0 или более поздней версии:
<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>
				

Ссылки

Ссылки на компоненты в Active план серверных страниц (ASP)

Свойства

Код статьи: 167820 - Последний отзыв: 3 июня 2011 г. - Revision: 4.0
Ключевые слова: 
kbfaq kbhowto kbscript kbmt KB167820 KbMtru
Переведено с помощью машинного перевода
ВНИМАНИЕ! Перевод данной статьи был выполнен не человеком, а с помощью программы машинного перевода, разработанной корпорацией Майкрософт. Корпорация Майкрософт предлагает вам статьи, переведенные как людьми, так и средствами машинного перевода, чтобы у вас была возможность ознакомиться со статьями базы знаний KB на родном языке. Однако машинный перевод не всегда идеален. Он может содержать смысловые, синтаксические и грамматические ошибки, подобно тому как иностранец делает ошибки, пытаясь говорить на вашем языке. Корпорация Майкрософт не несет ответственности за неточности, ошибки и возможный ущерб, причиненный в результате неправильного перевода или его использования. Корпорация Майкрософт также часто обновляет средства машинного перевода.
Эта статья на английском языке:167820
Заявление об отказе относительно содержимого статьи о продуктах, поддержка которых прекращена
Эта статья содержит сведения о продуктах, поддержка которых корпорацией Майкрософт прекращена. Поэтому она предлагается как есть и обновляться не будет.

Отправить отзыв

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com