鍍金池/ 教程/ 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 工作流。

                                          上一篇:Ajax 相關問題下一篇:什么是 Ajax?
                                          人妻精品动漫h无码中字