AJAX - Hỗ trợ trình duyệt

Tất cả các trình duyệt có sẵn không thể hỗ trợ AJAX. Đây là danh sách các trình duyệt chính hỗ trợ AJAX.

  • Mozilla Firefox 1.0 trở lên.
  • Netscape phiên bản 7.1 trở lên.
  • Apple Safari 1.2 trở lên.
  • Microsoft Internet Explorer 5 trở lên.
  • Konqueror.
  • Opera 7.6 trở lên.

Khi bạn viết ứng dụng tiếp theo của mình, hãy xem xét các trình duyệt không hỗ trợ AJAX.

NOTE - Khi chúng ta nói rằng một trình duyệt không hỗ trợ AJAX, điều đó đơn giản có nghĩa là trình duyệt đó không hỗ trợ tạo đối tượng Javascript - đối tượng XMLHttpRequest.

Viết mã cụ thể cho trình duyệt

Cách đơn giản nhất để làm cho mã nguồn của bạn tương thích với trình duyệt là sử dụng khối try ... catch trong JavaScript của bạn.

<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>

Trong đoạn mã JavaScript trên, chúng tôi cố gắng tạo đối tượng XMLHttpRequest ba lần. Nỗ lực đầu tiên của chúng tôi -

  • ajaxRequest = new XMLHttpRequest ();

Nó dành cho các trình duyệt Opera 8.0+, Firefox và Safari. Nếu không thành công, chúng tôi thử thêm hai lần nữa để tạo đối tượng chính xác cho trình duyệt Internet Explorer với -

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

Nếu nó không hoạt động, thì chúng ta có thể sử dụng một trình duyệt rất lỗi thời không hỗ trợ XMLHttpRequest, cũng có nghĩa là nó không hỗ trợ AJAX.

Mặc dù vậy, rất có thể, biến ajaxRequest của chúng tôi bây giờ sẽ được đặt thành bất kỳ tiêu chuẩn XMLHttpRequest nào mà trình duyệt sử dụng và chúng tôi có thể bắt đầu gửi dữ liệu đến máy chủ. Quy trình làm việc AJAX khôn ngoan từng bước được giải thích trong chương tiếp theo.