Ajax 简明教程
AJAX - Browser Support
并不是所有可用的浏览器都支持 AJAX。以下是支持 AJAX 的主要浏览器的列表。
-
Mozilla Firefox 1.0 及更高版本。
-
Netscape 7.1 及更高版本。
-
Apple Safari 1.2 及更高版本。
-
Microsoft Internet Explorer 5 及更高版本。
-
Konqueror.
-
Opera 7.6 and above.
当你编写下一个应用程序时,请考虑不支持 AJAX 的浏览器。
NOTE − 当我们说某个浏览器不支持 AJAX 时,仅仅意味着浏览器不支持创建 JavaScript 对象 − XMLHttpRequest 对象。
Writing Browser Specific Code
让你的源代码与浏览器兼容的最简单方法是在你的 JavaScript 中使用 try…catch 块。
Example
<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>
Output
在上面的 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 工作流程将在下一章中进行说明。