并不是所有的瀏覽器都支持AJAX,以下是支持AJAX的主要瀏覽器:
• Mozilla Firefox 1.0及以上版本。
• Netscape 7.1及以上版本。
• Apple Safari 1.2及以上版本。
• Microsoft Internet Explorer 5及更高版本。
• Konqueror。
• Opera 7.6及以上版本。
• 國產主流的瀏覽器。
編寫下一個應用程序時,最好要考慮不支持AJAX的瀏覽器時如何處理。
注 - 當瀏覽器不支持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 = new XMLHttpRequest();
它適用于Opera 8.0 +,Firefox和Safari瀏覽器。如果失敗,再嘗試兩次為Internet Explorer瀏覽器創建正確的對象
ajaxRequest = new ActiveXObject("Msxml2.XMLHTTP");
ajaxRequest = new ActiveXObject("Microsoft.XMLHTTP");
如果它不起作用,那么這里一個非常過時的瀏覽器,它不支持XMLHttpRequest,這也意味著它不支持AJAX。
但最有可能的是,變量ajaxRequest現在將被設置為瀏覽器使用任何XMLHttpRequest標準,我們可以開始向服務器發送數據。具體的AJAX工作流程將在下一章中介紹。