鍍金池/ 教程/ HTML/ Ajax 瀏覽器支持
              Ajax 技術
              Ajax 安全
              Ajax 示例
              Ajax 瀏覽器支持
              Ajax 實戰
              Ajax XMLHttpRequest
              什么是 Ajax?
              Ajax 數據庫操作
              Ajax 相關問題

              Ajax 瀏覽器支持

              并非所有的瀏覽器都支持 Ajax。下面是一個支持 Ajax 的主流瀏覽器列表:

              • Mozilla FireFox 1.0 及以上版本。
              • Netscape 7.1 及以上版本。
              • Apple Safari 1.2 及以上版本。
              • 微軟 IE 5 及以上版本。
              • Konqueror。
              • Opera 7.6 及以上版本。

              當我們編寫下一個應用程序時,要考慮那些不支持 Ajax 的瀏覽器。

              注意:當我們說某個瀏覽器不支持 Ajax 時,只是意味著該瀏覽器不支持創建 JavaScript 對象 XMLHttpRequest 對象。

              針對瀏覽器編寫代碼

              讓我們的源代碼兼容瀏覽器最簡單的方式就是在我們的 JavaScript 中使用 try..catch 塊。

              <html>
              <body>
                  <script language="javascript" type="text/javascript">
                  <!-- 
                  // 支持瀏覽器的源碼
                  function AjaxFunction(){
                      var AjaxRequest;  // 緩存XHR對象便于 Ajax 使用
              
                      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){
                                  // 錯誤處理
                                  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 瀏覽器。如果它失敗,接下來我們兩次嘗試針對 IE 瀏覽器創建正確的對象:

              • AjaxRequest = new ActiveXObject("Msxml2.XMLHTTP");
              • AjaxRequest = new ActiveXObject("Microsoft.XMLHTTP");

              如果它還是不工作,那么我們可能在使用一個不支持 XMLHttpRequest 的非常過時的瀏覽器,這也意味著它不支持 Ajax。

              但最有可能的是,我們的 AjaxRequest 變量現在被設置為瀏覽器使用的 XMLHttpRequest 標準并可以開始發送數據到服務器。下一章會解釋分步進行的 Ajax 工作流。

              在线资源天堂www