AJAX - 浏览器支持
所有可用的浏览器都不支持 AJAX。 以下是支持 AJAX 的主要浏览器的列表。
- Mozilla Firefox 1.0 及更高版本。
- Netscape 7.1 及更高版本。
- Apple Safari 1.2 及更高版本。
- Microsoft Internet Explorer 5 及更高版本。
- 征服者。
- Opera 7.6 及更高版本。
当您编写下一个应用程序时,请务必考虑不支持 AJAX 的浏览器。
注意 − 当我们说浏览器不支持 AJAX 时,它只是意味着该浏览器不支持 Javascript 对象的创建。 XMLHttpRequest 对象。
编写浏览器特定代码
使源代码与浏览器兼容的最简单方法是在 JavaScript 中使用 try...catch 块。
示例
<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>
输出
在上面的 JavaScript 代码中,我们尝试了三次来创建 XMLHttpRequest 对象。 我们的第一次尝试 −
- ajaxRequest = new XMLHttpRequest();
它适用于 Opera 8.0+、Firefox 和 Safari 浏览器。 如果失败,我们会再尝试两次,以便为 Internet Explorer 浏览器创建正确的对象 −
- ajaxRequest = new ActiveXObject("Msxml2.XMLHTTP");
- ajaxRequest = new ActiveXObject("Microsoft.XMLHTTP");
如果它不起作用,那么我们可以使用一个非常过时的浏览器,它不支持 XMLHttpRequest,这也意味着它不支持 AJAX。
最有可能的是,我们的变量 ajaxRequest 现在将被设置为浏览器使用的任何 XMLHttpRequest 标准,并且我们可以开始向服务器发送数据。 逐步的 AJAX 工作流程将在下一章中解释。