ajax兼容各种浏览器

原创 2013年12月02日 15:34:20


AJAX 的要点是 XMLHttpRequest 对象。

不同的浏览器创建 XMLHttpRequest 对象的方法是有差异的。

IE 浏览器使用 ActiveXObject,而其他的浏览器使用名为 XMLHttpRequest 的 JavaScript 内建对象。

如需针对不同的浏览器来创建此对象,我们要使用一条 "try and catch" 语句。

让我们用这段创建 XMLHttpRequest 对象的 JavaScript 来更新一下我们的 "testAjax.htm" 文件:

[html] view plaincopy
  1. <html xmlns="http://www.w3.org/1999/xhtml">  
  2. <head runat="server">  
  3.     <title></title>  
  4.     <script type="text/javascript">  
  5.         function ajaxFunction() {  
  6.             var xmlHttp = false;  
  7.             try {  
  8.                 xmlHttp = new ActiveXObject("Msxml2.XMLHTTP"); // ie msxml3.0+(IE7.0及以上)  
  9.             } catch (e) {  
  10.                 try {  
  11.                     xmlHttp = new ActiveXObject("Microsoft.XMLHTTP"); //ie msxml2.6(IE5/6)  
  12.                 } catch (e2) {  
  13.                     xmlHttp = false;  
  14.                 }  
  15.             }  
  16.             if (!xmlHttp && typeof XMLHttpRequest != 'undefined') {// Firefox, Opera 8.0+, Safari  
  17.                 xmlHttp = new XMLHttpRequest();  
  18.             }  
  19.             return xmlHttp;  
  20.         }  
  21.     </script>  
  22. </head>  
  23. <body>  
  24.     <form name="myForm" action="" method="post">  
  25.         用户: <input type="text" name="username" />  
  26.         时间: <input type="text" name="time" />  
  27.     </form>  
  28. </body>  
  29. </html  

注释:上面这些浏览器定制的代码很长,也很复杂。不过,每当您希望创建 XMLHttpRequest 对象时,这些代码就能派上用场,因此您可以在任何需要使用的时间拷贝粘贴这些代码。上面这些代码兼容所有的主流浏览器:Internet Explorer、Opera、Firefox 以及 Safari。

相关文章推荐

JS 实现 ajax 异步 兼容浏览器

"> function showDetail(oid){ var but = document.getElementById("but"+oid); var div1 = document....

ASP.NET AJAX(12)__浏览器兼容功能

====================================================== 注:本文源代码点此下载 =============================...

js ajax 兼容多浏览器 get post 解决乱码 响应过程全齐了

js ajax 兼容多浏览器 get post 解决乱码 响应过程全齐了

js ajax 工具模板 直接用 浏览器兼容性强

style/js/jquery-1.7.2.min.js"> $(function(){ $("#hh").click(function(){ getServerDataJ("jack....

解析ajax核心XMLHTTPRequest对象的创建与浏览器的兼容问题

XMLHttpRequest 对象是AJAX功能的核心,要开发AJAX程序必须从了解XMLHttpRequest 对象开始。 了解XMLHttpRequest 对象就先从创建XMLHttpReq...

Ajax解决IE浏览器兼容问题

ServletContext 被 Servlet 程序用来与 Web 容器通信。例如写日志,转发请求。每一个 Web 应用程序含有一个Context,被Web应用内的各个程序共享。因为Context可...

AJAX编程(异步/XMLHttpRequest/API详解/GET和POST请求的差异/创建浏览器内建对象的兼容写法)

AJAX 1. 异步 2. XMLHttpRequest (1)请求 (2)响应 (3)API 详解 从发起请求到响应成功的完整写法示例 GET和POST请求方式的差异 3. 兼容性...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:ajax兼容各种浏览器
举报原因:
原因补充:

(最多只允许输入30个字)