AJAX - Soporte de navegador
Todos los navegadores disponibles no pueden admitir AJAX. Aquí hay una lista de los principales navegadores que admiten AJAX.
- Mozilla Firefox 1.0 y superior.
- Netscape versión 7.1 y superior.
- Apple Safari 1.2 y superior.
- Microsoft Internet Explorer 5 y superior.
- Konqueror.
- Opera 7.6 y superior.
Cuando escriba su próxima aplicación, considere los navegadores que no son compatibles con AJAX.
NOTE - Cuando decimos que un navegador no admite AJAX, simplemente significa que el navegador no admite la creación de un objeto Javascript - XMLHttpRequest object.
Escribir código específico del navegador
La forma más sencilla de hacer que su código fuente sea compatible con un navegador es usar bloques try ... catch en su 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>
En el código JavaScript anterior, intentamos tres veces hacer nuestro objeto XMLHttpRequest. Nuestro primer intento -
- ajaxRequest = new XMLHttpRequest ();
Es para los navegadores Opera 8.0+, Firefox y Safari. Si falla, intentamos dos veces más para crear el objeto correcto para un navegador Internet Explorer con -
- ajaxRequest = new ActiveXObject ("Msxml2.XMLHTTP");
- ajaxRequest = nuevo ActiveXObject ("Microsoft.XMLHTTP");
Si no funciona, entonces podemos usar un navegador muy desactualizado que no es compatible con XMLHttpRequest, lo que también significa que no es compatible con AJAX.
Sin embargo, lo más probable es que nuestra variable ajaxRequest ahora se establezca en cualquier estándar XMLHttpRequest que use el navegador y podamos comenzar a enviar datos al servidor. El flujo de trabajo AJAX paso a paso se explica en el siguiente capítulo.