首页 > web前端 > js教程 > 浅谈一下Ajax的浏览器支持

浅谈一下Ajax的浏览器支持

青灯夜游
发布: 2018-11-08 16:46:20
原创
2760 人浏览过

本篇文章给大家带来的内容是浅谈一下Ajax的浏览器支持,让大家了解创建 XMLHttpRequest 对象的兼容性写法。有一定的参考价值,有需要的朋友可以参考一下,希望对你们有所帮助。

首先我们要知道Ajax的关键在于XMLHttpRequest 对象,它可以用于在后台与服务器交换数据,Ajax可有通过它在浏览器中获取后台数据。【相关视频教程推荐: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 = &#39;myForm&#39;>
	       姓名: <input type = &#39;text&#39; name = &#39;username&#39; /> <br />
	       时间: <input type = &#39;text&#39; name = &#39;time&#39; />
        </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的浏览器支持的详细内容。更多信息请关注PHP中文网其他相关文章!

相关标签:
来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板