並不是所有的流覽器都支持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工作流程將在下一章仲介紹。
上一篇:
AJAX JSON示例
下一篇:
AJAX操作流程