Ajax 简明教程

AJAX - Browser Support

并不是所有可用的浏览器都支持 AJAX。以下是支持 AJAX 的主要浏览器的列表。

  1. Mozilla Firefox 1.0 及更高版本。

  2. Netscape 7.1 及更高版本。

  3. Apple Safari 1.2 及更高版本。

  4. Microsoft Internet Explorer 5 及更高版本。

  5. Konqueror.

  6. Opera 7.6 and above.

当你编写下一个应用程序时,请考虑不支持 AJAX 的浏览器。

NOTE − 当我们说某个浏览器不支持 AJAX 时,仅仅意味着浏览器不支持创建 JavaScript 对象 − XMLHttpRequest 对象。

Writing Browser Specific Code

让你的源代码与浏览器兼容的最简单方法是在你的 JavaScript 中使用 try…​catch 块。

Example

<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>

Output

browser support

在上面的 JavaScript 代码中,我们尝试三次创建 XMLHttpRequest 对象。我们的第一次尝试 −

  1. ajaxRequest = new XMLHttpRequest();

这是适用于 Opera 8.0+、Firefox 和 Safari 浏览器的。如果失败,我们会尝试再两次,使用适用于 Internet Explorer 浏览器的 − 来创建正确对象。

  1. ajaxRequest = new ActiveXObject("Msxml2.XMLHTTP");

  2. ajaxRequest = new ActiveXObject("Microsoft.XMLHTTP");

如果这也不行,那我们可能使用的是不支持 XMLHttpRequest 的非常过时的浏览器,这也意味着它不支持 AJAX。

不过,最有可能的是,我们的变量 ajaxRequest 现在将被设置为浏览器使用的任何 XMLHttpRequest 标准,并且我们可以开始向服务器发送数据。逐步 AJAX 工作流程将在下一章中进行说明。