AJAX 浏览器支持


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

  • Mozilla Firefox 1.0 及更高版本。
  • 网景 7.1 及以上版本。
  • 苹果 Safari 1.2 及更高版本。
  • Microsoft Internet Explorer 5 及更高版本。
  • 征服者。
  • Opera 7.6 及更高版本。

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

注意 : 当我们说浏览器不支持AJAX时,简单来说就是浏览器不支持创建Javascript对象——XMLHttpRequest对象。

编写浏览器特定代码


使你的源代码与浏览器兼容的最简单方法是使用 试着抓 JavaScript 中的块。

<html>
    <body>
        <script language = "javascript" type = "text/javascript">
            <!--
            // 浏览器支持代码
            function ajaxFunction() {
                var ajaxRequest;  // 使 Ajax 成为可能的变量!

                try {
                    // Opera 8.0+、火狐、Safari
                    ajaxRequest = new XMLHttpRequest();
                } catch (e) {

                    // Internet Explorer 浏览器
                    try {
                        ajaxRequest = new ActiveXObject("Msxml2.XMLHTTP");
                    } catch (e) {
                  
                        try {
                            ajaxRequest = new ActiveXObject("Microsoft.XMLHTTP");
                        } catch (e) {

                            //  出问题了
                            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 代码中,我们尝试了 3 次来创建我们的 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 工作流程。