- 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 工作流程将在下一章中解释。
广告