並不是所有的瀏覽器都支援AJAX,以下是支援AJAX的主要瀏覽器 -
編寫下一個應用程式時,最好要考慮不支援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();
ajaxRequest = new ActiveXObject("Msxml2.XMLHTTP");
ajaxRequest = new ActiveXObject("Microsoft.XMLHTTP");
如果它不起作用,那麼這裡一個非常過時的瀏覽器,它不支援XMLHttpRequest,這也意味著它不支援AJAX。
但最有可能的是,變數ajaxRequest
現在將被設定為瀏覽器使用任何XMLHttpRequest
標準,我們可以開始向伺服器傳送資料。具體的AJAX工作流程將在下一章中介紹。