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 워크 플로는 다음 장에서 설명합니다.