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>

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