AJAX - Suporte do navegador

Todos os navegadores disponíveis não suportam AJAX. Aqui está uma lista dos principais navegadores que suportam AJAX.

  • Mozilla Firefox 1.0 e superior.
  • Netscape versão 7.1 e superior.
  • Apple Safari 1.2 e superior.
  • Microsoft Internet Explorer 5 e superior.
  • Konqueror.
  • Opera 7.6 e superior.

Ao escrever seu próximo aplicativo, considere os navegadores que não suportam AJAX.

NOTE - Quando dizemos que um navegador não oferece suporte a AJAX, significa simplesmente que o navegador não oferece suporte à criação de objeto Javascript - objeto XMLHttpRequest.

Escrevendo código específico do navegador

A maneira mais simples de tornar seu código-fonte compatível com um navegador é usar blocos try ... catch em seu 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>

No código JavaScript acima, tentamos três vezes fazer nosso objeto XMLHttpRequest. Nossa primeira tentativa -

  • ajaxRequest = new XMLHttpRequest ();

É para os navegadores Opera 8.0+, Firefox e Safari. Se falhar, tentamos mais duas vezes criar o objeto correto para um navegador Internet Explorer com -

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

Se não funcionar, podemos usar um navegador muito desatualizado que não seja compatível com XMLHttpRequest, o que também significa que não é compatível com AJAX.

Muito provavelmente, porém, nossa variável ajaxRequest agora será definida para qualquer padrão XMLHttpRequest que o navegador usa e podemos começar a enviar dados para o servidor. O fluxo de trabalho AJAX passo a passo é explicado no próximo capítulo.