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工作流程將在下一章仲介紹。


上一篇: AJAX JSON示例 下一篇: AJAX操作流程