AJAX - Supporto browser

Tutti i browser disponibili non supportano AJAX. Di seguito è riportato un elenco dei principali browser che supportano AJAX.

  • Mozilla Firefox 1.0 e versioni successive.
  • Netscape versione 7.1 e successive.
  • Apple Safari 1.2 e versioni successive.
  • Microsoft Internet Explorer 5 e versioni successive.
  • Konqueror.
  • Opera 7.6 e versioni successive.

Quando scrivi la tua prossima applicazione, considera i browser che non supportano AJAX.

NOTE - Quando diciamo che un browser non supporta AJAX, significa semplicemente che il browser non supporta la creazione di un oggetto Javascript - oggetto XMLHttpRequest.

Scrittura del codice specifico del browser

Il modo più semplice per rendere il tuo codice sorgente compatibile con un browser è usare try ... catch blocchi nel tuo 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>

Nel codice JavaScript sopra, proviamo tre volte a creare il nostro oggetto XMLHttpRequest. Il nostro primo tentativo -

  • ajaxRequest = nuovo XMLHttpRequest ();

È per i browser Opera 8.0+, Firefox e Safari. Se fallisce, proviamo altre due volte a creare l'oggetto corretto per un browser Internet Explorer con:

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

Se non funziona, possiamo usare un browser molto obsoleto che non supporta XMLHttpRequest, il che significa anche che non supporta AJAX.

Molto probabilmente, tuttavia, la nostra variabile ajaxRequest sarà ora impostata su qualsiasi standard XMLHttpRequest utilizzato dal browser e possiamo iniziare a inviare dati al server. Il flusso di lavoro AJAX graduale è spiegato nel capitolo successivo.