六狼论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博账号登陆

只需一步,快速开始

搜索
查看: 33|回复: 0

以支持多种浏览器的方式创建 XMLHttpRequest 对象

[复制链接]

升级  20%

2

主题

2

主题

2

主题

童生

Rank: 1

积分
10
 楼主| 发表于 2013-1-29 10:35:47 | 显示全部楼层 |阅读模式
Ajax代码同时支持Internet Explorer 和非 Microsoft游览器

/* Create a new XMLHttpRequest object to talk to the Web server */var xmlHttp = false;/*@cc_on @*//*@if (@_jscript_version >= 5)try {  xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");} catch (e) {  try {    xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");  } catch (e2) {    xmlHttp = false;  }}@end @*/if (!xmlHttp && typeof XMLHttpRequest != 'undefined') {  xmlHttp = new XMLHttpRequest();}

现在先不管那些注释掉的奇怪符号,如 @cc_on,这是特殊的 JavaScript 编译器命令,将在下一期针对 XMLHttpRequest 的文章中详细讨论。这段代码的核心分为三步:
1.建立一个变量 xmlHttp 来引用即将创建的 XMLHttpRequest 对象。
2.尝试在 Microsoft 浏览器中创建该对象:
     ◦尝试使用 Msxml2.XMLHTTP 对象创建它。
     ◦如果失败,再尝试 Microsoft.XMLHTTP 对象。
3.如果仍然没有建立 xmlHttp,则以非 Microsoft 的方式创建该对象。


创建XMLHttpRequest对象实例
var xmlHttp = false;function createXmlHttpRequest(){   if(window.ActiveXObject)   {      try      {         xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");      }      catch(e)      {         try         {            xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");         }         catch(ee)         {            xmlHttp = false;         }      }   }   else if(window.XMLHttpRequest)   {      try      {         xmlHttp = new XMLHttpRequest();      }      catch(e)      {         xmlHttp = false;      }   }}
您需要登录后才可以回帖 登录 | 立即注册 新浪微博账号登陆

本版积分规则

快速回复 返回顶部 返回列表