AJAX - 浏览器支持



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

  • Mozilla Firefox 1.0 及以上版本。
  • Netscape 7.1 及以上版本。
  • Apple Safari 1.2 及以上版本。
  • Microsoft Internet Explorer 5 及以上版本。
  • Konqueror。
  • 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>

输出

Browser Support

在上面的 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 工作流程将在下一章中解释。

广告