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>

輸出

Browser Support

在上面的 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 工作流程將在下一章中解釋。

廣告
© . All rights reserved.