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.