`

AJAX w3school 以及IE、Firefox、Chrome 的JS代码兼容注意事项

 
阅读更多

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. //<button id="btn4" onclick="foo4()">按钮4</button>    
    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都支持! 
分享到:
评论

相关推荐

    掌握Ajax-初学者的帮手

    1. **创建XMLHttpRequest对象**:所有现代浏览器(IE7+、Firefox、Chrome、Safari、Opera等)都内置了XMLHttpRequest对象,用于在后台与服务器交换数据。 2. **打开连接**:使用XMLHttpRequest对象的`open()`方法,...

    AJAX新手基础教程课程

    1. **创建XMLHttpRequest对象**:所有现代浏览器(IE7+、Firefox、Chrome、Safari、Opera等)都内置了XMLHttpRequest对象,它是AJAX的核心,用于与服务器通信。 2. **初始化请求**:使用XMLHttpRequest对象的open()...

    JavaScript笔记

    开发者应确保代码在主流浏览器(如Chrome、Firefox、Safari、Edge和IE)上都能正常运行。 5. **事件驱动**: - JavaScript是事件驱动的,意味着当用户触发特定事件(如点击、滚动、提交表单)时,会调用预先定义好...

    jquery-JavaScript框架

    jQuery致力于跨浏览器兼容性,可以在主流浏览器如Chrome, Firefox, Safari, IE等上良好运行。尽管现代JavaScript库如React和Vue已经崛起,但jQuery在某些场景下仍然有其优势,尤其是处理老版本IE浏览器时。 ### 5. ...

    jquery.min

    6. **兼容性**:jQuery对各种主流浏览器有良好的兼容性,包括Internet Explorer、Firefox、Chrome、Safari和Opera。 **jQuery.min.js的使用** 在网页中引入`jquery.min.js`文件后,就可以在JavaScript代码中使用...

    jQuery-1.4.3.js和jQuery-API

    - **浏览器兼容性**:1.4.3版本支持大多数主流浏览器,包括IE6+,Firefox,Chrome,Safari,Opera等。 - **插件系统**:jQuery生态系统中有大量的插件,1.4.3版本可以配合这些插件使用,扩展其功能。 3. **jQuery...

    适合新手的HTML入门学习资料

    运行HTML文件只需要在浏览器中打开,常见的浏览器有IE(Internet Explorer)、Chrome、Firefox、Safari和Opera。由于不同的浏览器厂商可能对W3C(万维网联盟)的标准支持程度不同,这可能导致兼容性问题,所以开发者...

    jquery2.0插件

    - **兼容性**:jQuery 2.0 支持现代浏览器,如Chrome、Firefox、Safari、Opera以及IE9及以上版本,不再兼容IE6、7、8这些老版本,这样可以减少不必要的代码,提高加载速度。 - **API改进**:在2.0版本中,jQuery...

    jQuery在线资源和开发工具.rar

    2. **浏览器开发者工具**:Chrome DevTools和Firefox Developer Tools提供DOM操作、性能分析等功能,是调试jQuery代码的利器。 3. **jQuery插件**:jQuery生态系统中有大量插件,如Bootstrap、jQuery UI等,丰富了...

    jquery实现的网页自动播放声音

    对于IE9及以上版本和其他现代浏览器(如Firefox和Chrome),它们都支持HTML5的`&lt;audio&gt;`标签。因此,代码创建了一个`&lt;audio&gt;`元素,并添加了`autoplay`属性以实现自动播放。同时,使用`&lt;source&gt;`标签提供了两种音频...

    setmiya

    10. **学习资源**:MDN Web文档、W3School、免费教程网等网站提供了丰富的JavaScript学习资料,而Stack Overflow是解决开发中遇到问题的重要社区。 以上只是JavaScript部分核心知识点的概述,实际开发中涉及的细节...

    Journey

    10. **调试与测试**:Chrome DevTools、Firefox Developer Tools等浏览器内置的开发者工具,以及Mocha、Jest等单元测试框架,都是JavaScript开发中不可或缺的调试和测试工具。 11. **学习资源**:MDN Web Docs、W3...

    21sp-web-programming:Java脚本

    5. **浏览器扩展**:Chrome、Firefox等浏览器的插件通常使用JavaScript编写。 **JavaScript的核心概念** 1. **变量与数据类型**:包括基本类型(Number、String、Boolean、Null、Undefined)和引用类型(Object)。...

    jquery实现图片跟随鼠标的实例

    7. **兼容性**:确保这个功能在主流浏览器(如Chrome, Firefox, Safari, Edge)中都能正常工作,可能需要考虑对旧版浏览器的兼容性。 8. **调试与优化**:在实际应用中,可能需要对代码进行调试和优化,例如添加...

Global site tag (gtag.js) - Google Analytics