SeanLoveQi 发表于 2013-1-29 10:35:47

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

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;      }   }}
页: [1]
查看完整版本: 以支持多种浏览器的方式创建 XMLHttpRequest 对象