这篇文章运用简单易懂的例子给大家介绍什么是Ajax的浏览器支持,代码非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。
首先我们要知道Ajax的关键在于XMLHttpRequest 对象,它可以用于在后台与服务器交换数据,Ajax可有通过它在浏览器中获取后台数据。
但不同的浏览器创建 XMLHttpRequest 对象的方法是有差异的。比如:
IE 浏览器使用 ActiveXObject来创建,而其他的浏览器使用名为 XMLHttpRequest 的 JavaScript 内建对象来创建。
这也就导致浏览器对于Ajax的支持是不一样的,不是所有的浏览器都支持Ajax。下面我们来看看支持AJAX的主要浏览器列表:
1、Mozilla Firefox 1.0及以上版本。
2、Netscape 7.1及以上版本。
3、Apple Safari 1.2及以上版本。
4、Microsoft Internet Explorer 5及更高版本。
5、Konqueror。
6、Opera 7.6及以上版本。
如需针对不同的浏览器来创建此对象,我们需要编写一段特定代码。下面我们就来看看创建XMLHttpRequest 对象的兼容性写法:
这里我们需要在JavaScript中使用到try ... catch语句,对于try ... catch语句的不熟悉的,可以参考之前的文章【js的try ... catch语句是什么?怎么使用?】!
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<script language = "javascript" type = "text/javascript">
//浏览器支持代码
function ajaxFunction() {
var ajaxRequest; // 声明一个ajaxRequest变量,用来保存XMLHttpRequest 对象
try {
// 兼容:Opera 8.0+, Firefox, Safari
ajaxRequest = new XMLHttpRequest(); //创建XMLHttpRequest 对象
} catch (e) {
// 兼容:Internet Explorer 浏览器
try {
ajaxRequest = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
try {
ajaxRequest = new ActiveXObject("Microsoft.XMLHTTP");
} catch (e) {
// 出了问题时
alert("您的浏览器不支持Ajax!");
return false;
}
}
}
}
</script>
</head>
<body>
<form name = 'myForm'>
姓名: <input type = 'text' name = 'username' /> <br />
时间: <input type = 'text' name = 'time' />
</form>
</body>
</html>
在上面的JavaScript代码中,我们尝试创建XMLHttpRequest对象三次。
我们的第一次尝试:
// 兼容:Opera 8.0+, Firefox, Safari
ajaxRequest = new XMLHttpRequest();
这条语句适用于Opera 8.0 +,Firefox和Safari浏览器。如果失败,我们还可以在 Internet Explorer浏览器上尝试两次制作正确的对象:
我们的第二、三次尝试:兼容Internet Explorer 浏览器
//第二次尝试:
// 兼容:Internet Explorer 6.0+
ajaxRequest = new ActiveXObject(“Msxml2.XMLHTTP”);
//第三次尝试:
// 兼容:Internet Explorer 5.5+
ajaxRequest = new ActiveXObject(“Microsoft.XMLHTTP”);
假如这三种方法都不起作用,那么这个用户所使用的浏览器已经太过时了,他或她会看到一个声明此浏览器不支持 AJAX 的提示。
说明:
上面这些浏览器定制的代码很长,也很复杂。不过,如果想要创建 XMLHttpRequest 对象,这些代码就能派上用场,因此可以在任何需要使用的时间拷贝粘贴这些代码。上面这些代码兼容所有的主流浏览器:Internet Explorer、Opera、Firefox 以及 Safari等。
关于什么是Ajax的浏览器支持就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。