AJAX-브라우저 지원

사용 가능한 모든 브라우저가 AJAX를 지원할 수 없습니다. 다음은 AJAX를 지원하는 주요 브라우저 목록입니다.

  • Mozilla Firefox 1.0 이상.
  • Netscape 버전 7.1 이상.
  • Apple Safari 1.2 이상.
  • Microsoft Internet Explorer 5 이상.
  • Konqueror.
  • Opera 7.6 이상.

다음 애플리케이션을 작성할 때 AJAX를 지원하지 않는 브라우저를 고려하십시오.

NOTE − 브라우저가 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 = 새로운 XMLHttpRequest ();

Opera 8.0+, Firefox 및 Safari 브라우저 용입니다. 실패하면 Internet Explorer 브라우저에 대한 올바른 개체를 만들기 위해 두 번 더 시도합니다.

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

작동하지 않으면 XMLHttpRequest를 지원하지 않는 매우 오래된 브라우저를 사용할 수 있습니다. 이는 AJAX를 지원하지 않음을 의미합니다.

하지만 우리의 변수 ajaxRequest는 이제 브라우저가 사용 하는 XMLHttpRequest 표준 으로 설정되고 서버로 데이터를 보낼 수 있습니다. 단계적 AJAX 워크 플로는 다음 장에서 설명합니다.