AJAX - obsługa przeglądarek

Żadna z dostępnych przeglądarek nie obsługuje technologii AJAX. Oto lista głównych przeglądarek obsługujących AJAX.

  • Mozilla Firefox 1.0 i nowsze.
  • Netscape w wersji 7.1 i nowszych.
  • Apple Safari 1.2 i nowsze.
  • Microsoft Internet Explorer 5 i nowszy.
  • Konqueror.
  • Opera 7.6 i nowsze.

Pisząc kolejną aplikację, weź pod uwagę przeglądarki, które nie obsługują technologii AJAX.

NOTE - Kiedy mówimy, że przeglądarka nie obsługuje AJAX, oznacza to po prostu, że przeglądarka nie obsługuje tworzenia obiektu Javascript - obiektu XMLHttpRequest.

Pisanie kodu specyficznego dla przeglądarki

Najprostszym sposobem na dostosowanie kodu źródłowego do przeglądarki jest użycie bloków try ... catch w 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>

W powyższym kodzie JavaScript próbujemy trzykrotnie utworzyć nasz obiekt XMLHttpRequest. Nasza pierwsza próba -

  • ajaxRequest = new XMLHttpRequest ();

Jest przeznaczony dla przeglądarek Opera 8.0+, Firefox i Safari. Jeśli to się nie powiedzie, próbujemy jeszcze dwa razy utworzyć poprawny obiekt dla przeglądarki Internet Explorer z -

  • ajaxRequest = nowy obiekt ActiveXObject ("Msxml2.XMLHTTP");
  • ajaxRequest = nowy obiekt ActiveXObject ("Microsoft.XMLHTTP");

Jeśli to nie zadziała, możemy użyć bardzo przestarzałej przeglądarki, która nie obsługuje XMLHttpRequest, co oznacza również, że nie obsługuje AJAX.

Najprawdopodobniej jednak nasza zmienna ajaxRequest będzie teraz ustawiona na dowolny standard XMLHttpRequest używany przez przeglądarkę i możemy rozpocząć wysyłanie danych na serwer. Krokowy przepływ pracy AJAX został wyjaśniony w następnym rozdziale.