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