Учебники

AJAX — поддержка браузера

Все доступные браузеры не могут поддерживать AJAX. Вот список основных браузеров, которые поддерживают AJAX.

  • Mozilla Firefox 1.0 и выше.
  • Netscape версии 7.1 и выше.
  • Apple Safari 1.2 и выше.
  • Microsoft Internet Explorer 5 и выше.
  • Konqueror.
  • Опера 7,6 и выше.

Когда вы пишете свое следующее приложение, подумайте о браузерах, которые не поддерживают AJAX.

ПРИМЕЧАНИЕ. — Когда мы говорим, что браузер не поддерживает AJAX, это просто означает, что браузер не поддерживает создание объекта Javascript — объекта XMLHttpRequest.

Написание кода для браузера

Самый простой способ сделать ваш исходный код совместимым с браузером — это использовать блоки try … catch в вашем JavaScript.

<html>
   <body>
      <script language = "javascript" type = "text/javascript">
         <!-- 
         //Browser Support Code
         function ajaxFunction() {
            var ajaxRequest;  // The variable that makes Ajax possible!

            try {
               // Opera 8.0+, Firefox, Safari 
               ajaxRequest = new XMLHttpRequest();
            } catch (e) {

               // Internet Explorer Browsers
               try {
                  ajaxRequest = new ActiveXObject("Msxml2.XMLHTTP");
               } catch (e) {
                  
                  try {
                     ajaxRequest = new ActiveXObject("Microsoft.XMLHTTP");
                  } catch (e) {

                     // Something went wrong
                     alert("Your browser broke!");
                     return false;
                  }
               }
            }
         }
         //-->
      </script>
      
      <form name = 'myForm'>
         Name: <input type = 'text' name = 'username' /> <br />
         Time: <input type = 'text' name = 'time' />
      </form>
      
   </body>
</html>

В приведенном выше коде JavaScript мы трижды пытаемся создать наш объект XMLHttpRequest. Наша первая попытка —

  • ajaxRequest = new XMLHttpRequest ();

Это для браузеров Opera 8.0+, Firefox и Safari. Если это не удается, мы пытаемся еще два раза создать правильный объект для браузера Internet Explorer с —

  • ajaxRequest = новый ActiveXObject («Msxml2.XMLHTTP»);
  • ajaxRequest = новый ActiveXObject («Microsoft.XMLHTTP»);

Если это не работает, то мы можем использовать очень устаревший браузер, который не поддерживает XMLHttpRequest, что также означает, что он не поддерживает AJAX.

Скорее всего, наша переменная ajaxRequest теперь будет установлена ​​в соответствии со стандартом XMLHttpRequest, который использует браузер, и мы можем начать отправку данных на сервер. Пошаговый рабочий процесс AJAX описан в следующей главе.