- AJAX 教程
- AJAX - 首頁
- AJAX - 什麼是 AJAX?
- AJAX - 歷史
- AJAX - 動態網站與靜態網站
- AJAX - 技術
- AJAX - 操作
- AJAX - XMLHttpRequest
- AJAX - 傳送請求
- AJAX - 請求型別
- AJAX - 處理響應
- AJAX - 處理二進位制資料
- AJAX - 提交表單
- AJAX - 檔案上傳
- AJAX - FormData 物件
- AJAX - 傳送 POST 請求
- AJAX - 傳送 PUT 請求
- AJAX - 傳送 JSON 資料
- AJAX - 傳送資料物件
- AJAX - 監控進度
- AJAX - 狀態碼
- AJAX - 應用
- AJAX - 瀏覽器相容性
- AJAX - 示例
- AJAX - 瀏覽器支援
- AJAX - XMLHttpRequest
- AJAX - 資料庫操作
- AJAX - 安全性
- AJAX - 問題
- Fetch API 基礎
- Fetch API - 基礎
- Fetch API 與 XMLHttpRequest 對比
- Fetch API - 瀏覽器相容性
- Fetch API - 頭部資訊
- Fetch API - 請求
- Fetch API - 響應
- Fetch API - 主體資料
- Fetch API - 憑據
- Fetch API - 傳送 GET 請求
- Fetch API - 傳送 POST 請求
- Fetch API - 傳送 PUT 請求
- Fetch API - 傳送 JSON 資料
- Fetch API - 傳送資料物件
- Fetch API - 自定義請求物件
- Fetch API - 上傳檔案
- Fetch API - 處理二進位制資料
- Fetch API - 狀態碼
- Stream API 基礎
- Stream API - 基礎
- Stream API - 可讀流
- Stream API - 可寫流
- Stream API - 變換流
- Stream API - 請求物件
- Stream API - 響應主體
- Stream API - 錯誤處理
- AJAX 有用資源
- AJAX - 快速指南
- AJAX - 有用資源
- AJAX - 討論
AJAX - 瀏覽器支援
並非所有可用的瀏覽器都支援 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 工作流程將在下一章中解釋。
廣告