博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
AJAX w3school 以及IE、Firefox、Chrome 的JS代码兼容注意事项
阅读量:4098 次
发布时间:2019-05-25

本文共 3055 字,大约阅读时间需要 10 分钟。

AJAX 实例

http://www.w3school.com.cn/example/ajax_examples.asp

AJAX - 服务器响应

服务器响应

如需获得来自服务器的响应,请使用 XMLHttpRequest 对象的 responseText 或 responseXML 属性。

属性 描述
responseText 获得字符串形式的响应数据。
responseXML 获得 XML 形式的响应数据。

responseText 属性

http://www.w3school.com.cn/ajax/ajax_xmlhttprequest_response.asp

如果来自服务器的响应并非 XML,请使用 responseText 属性。

responseText 属性返回字符串形式的响应,因此您可以这样使用:

document.getElementById("myDiv").innerHTML=xmlhttp.responseText;

AJAX ResponseXML 实例

http://www.w3school.com.cn/ajax/ajax_responsexml.asp

与 responseText 以字符串返回 HTTP 响应不同,responseXML 以 XML 返回响应。

ResponseXML 属性返回 XML 文档对象,可使用 W3C DOM 节点树的方法和属性来检查和解析该对象。

===========================

 

 

     IE、Firefox、Chrome 的JS代码兼容注意事项

转自:

http://www.alonely.com.cn/Firefox/20161003/48172.html

 

    近日,公司的线软件产品由于用户原来越多并广受好评,公司决定由原来只支持IE,扩展到支持Firefox 和 Chrome,随身版更决定使用Chrome作为客户端,在代码兼容性升级的时候,碰到一些问题,姑且记录下来,供同事和朋友们参考。


1.  IE 的XMLHTTP 如果申请一个非XML格式的文件,XMLHttpObject.responseXML 是一个可用的对象。

     Firefox 和 Chrome 则会返回null

     IE我们可以直接 XMLHttpObject.responseXML.loadXML, Firefox 和 Chrome 要通过其他方法 
  1. var xmlHttp=getXMLHttpObj();   	var text = xmlHttp.responseText.replaceAll('&','&');   	var xD=xmlHttp.responseXML;   	if(xD){   		xD.loadXML(text);   	}else{   		var oParser = new DOMParser();   		xD= oParser.parseFromString(text,"text/xml");   		//alert(xD.getElementsByTagName("a"));   	}
     
2. 还是XMLHttpObject , IE 和 Chrome 可以 支持 XMLHttpObject.send() 方法里面没有任何参数,Firefox 必须要求最少都要一个参数,即使参数值为null ,即:  
  1. //要兼容多种浏览器,必须这样写,参数null不能省略:   
  2. XMLHttpObject.send(null);
     

 

3.Firefox 里面 HTMLElementObject.outerHTML 属性无效,IE和Chrome 就很正常,例如我们要删除一个DIV:  
  1. // 这一句在IE和Chrome 运行很好   
  2.     $("DIV").outerHTML="";  //删除一个DIV   
  3. //firefox 不能则通过上面的语句实现,只能通过以下方法实现    
  4. $("DIV").parentNode.removeChild($("DIV"));   
  5. delete $("DIV"+n);  

 

4. Firfox 不支持直接用HTMLElementObject 的id 取得该元素,IE和Chrome 则支持得很好。

    Firfox死板的坚持“标准”?!

    例如我们页面上有这样一段HTML代码:  
  1.  <div id="DivObj">this is some text</div>  
     IE和Chrome 可以直接用DivObj 就可以引用这个元素对象。

     Firfox 就在只能用 getElementById('DivObj') 或者著名的$('DivObj')函数了


5. javascript 操作styleSheet对象和rules对象,兼容的写法如下:      
  1. var Rules=document.getElementById("xwincss").sheet||document.styleSheets["xwincss"];   if(Rules.rules){     //IE      Rules=Rules.rules;   }else{     //firefox      Rules=Rules.cssRules;   }
       
6、firefox和ie事件event处理 

在ie中,事件对象是作为一个全局变量来保存和维护的。 所有的浏览器事件,不管是用户触发 

的,还是其他事件, 都会更新window.event 对象。 所以在代码中,只要轻松调用 window.event 

就可以轻松获取 事件对象, 再 event.srcElement 就可以取得触发事件的元素进行进一步处理 

在ff中, 事件对象却不是全局对象,一般情况下,是现场发生,现场使用,ff把事件对象自动传 

递给对应的事件处理函数。 在代码中,函数的第一个参数就是ff下的事件对象了。 

 
  1. //    function foo4(){    var evt=getEvent();    var element=evt.srcElement || evt.target ;    alert(element.id)    }    function getEvent()    { //同时兼容ie和ff的写法    if(document.all) return window.event;    func=getEvent.caller;    while(func!=null){    var arg0=func.arguments[0];    if(arg0){    if((arg0.constructor==Event || arg0.constructor ==MouseEvent) || (typeof(arg0)=="object" && arg0.preventDefault && arg0.stopPropagation)){    return arg0;    }    }    func=func.caller;    }    return null;    }
       

7、firefox和ie对手型指针cursor不兼容 

手型指针有cursor:hand和cursor:pointer两种写法,其中cursor:hand在ff中不支持,返回错误! 

只要使用cursor:pointer即可,ff和ie都支持! 

转载地址:http://mmlii.baihongyu.com/

你可能感兴趣的文章
missing: CURL_LIBRARY CURL_INCLUDE_DIR
查看>>
rk3399pro移植安装opencv源码编译包问题记录
查看>>
算法评价指标——TAR,FAR,FRR,ERR
查看>>
RK3399pro开发板debian10下安装curl
查看>>
在chroot中挂载/dev/,使用系统设备节点
查看>>
yolov5 训练结果解析
查看>>
Anaconda-用conda创建python虚拟环境
查看>>
W: GPG error: ...the public key is not available: NO_PUBKEY 7EA0A9C3F273FCD8
查看>>
opencv Mat指针读取、修改像素值
查看>>
K8s APF 机制 (API Priority and Fairness)
查看>>
欢迎使用Markdown编辑器写博客(源文件)
查看>>
欢迎使用CSDN-markdown编辑器(生成文件)
查看>>
分布函数总结
查看>>
LaTeX常用语法总结
查看>>
矩阵相关
查看>>
NS2 下添加 OLSR协议,以及测试
查看>>
NS2 仿真参数自动更改和执行,并保存执行结果
查看>>
NS2 - TORA协议修正
查看>>
开机时 “PE一键急救系统” 删除方法
查看>>
如何删除C盘文件
查看>>