开发学院,分享开发教程和最新动态

AJAX 浏览器支持

AJAX 浏览器支持


  目前大部分浏览器均已经支持AJAX,所以基本不需要考虑浏览器不兼容的问题,只是ie浏览器跟火狐之类浏览器有一些细微的差异,好在目前出现了很多如Jquery这样的javascript库已经帮我们做了这些工作.


下面是支持AJAX的浏览器版本列表:

Mozilla Firefox 1.0或更高版本

Netscape version 7.1或更高版本

Apple Safari 1.2或更高版本

Microsoft Internet Explorer 5或更高版本

Opera 7.6或更高版本


编写兼容特定浏览器的代码

下面代码演示了如何在不同的浏览器中创建XMLHttpRequest对象.

<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() ;

它适用于Opera8.0+、Firefox和safari浏览器。如果失败,我们将多次尝试两次为ie浏览器创建正确的对象,其中:

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

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

如果它还是不工作,那么我们可能使用了不支持XMLHttpRequest的非常老的浏览器,这意味着它不支持Ajax。