学习笔记Firefox浏览器兼容JS脚本

本文向大家描述一下Firefox浏览器兼容JS脚本问题,最近做了一个项目,遇到了FireFox和IE脚本不兼容的问题,为此从网上搜集了部分兼容的脚本,这里和大家分享一下,希望对你的学习有所帮助。

创新互联服务项目包括晋源网站建设、晋源网站制作、晋源网页制作以及晋源网络营销策划等。多年来,我们专注于互联网行业,利用自身积累的技术优势、行业经验、深度合作伙伴关系等,向广大中小型企业、政府机构等提供互联网行业的解决方案,晋源网站推广取得了明显的社会效益与经济效益。目前,我们服务的客户以成都为中心已经辐射到晋源省份的部分城市,未来相信会继续扩大服务区域并继续获得客户的支持与信任!

Firefox浏览器兼容JS脚本供参考

1.window.event兼容脚本

 
 
 
  1. functiongetEvent(){//获取浏览器事件,同时兼容ie和ff的写法
  2. if(document.all)returnwindow.event;
  3. func=getEvent.caller;
  4. while(func!=null){
  5. vararg0=func.arguments[0];
  6. if(arg0){
  7. if((arg0.constructor==Event  arg0.constructor==MouseEvent)
  8.   (typeof(arg0)=="object"&&arg0.preventDefault&&arg0.stopPropagation)){
  9. returnarg0;
  10. }
  11. }
  12. funcfunc=func.caller;
  13. }
  14. returnnull;
  15. }

 每次用事件之前Firefox都需要用getEvent()获取一下,否则就是空

2.屏蔽Form提交事件

 
 
 
  1. event.returnValue=false;//forIE
  2. evt.preventDefault();//forfirefox

3.获取事件源

 
 
 
  1. varsource=event.srcElement//IE
  2. varsource=event.target//firefox

#p#4.添加事件兼容写法

 
 
 
  1. functionaddEvent(oElement,sEvent,func){
  2. if(oElement.attachEvent){
  3. oElement.attachEvent(sEvent,func);
  4. }
  5. else{
  6. sEventsEvent=sEvent.substring(2,sEvent.length);
  7. oElement.addEventListener(sEvent,func,false);
  8. }
  9. }

 用法:addEvent(window,"onload",Start);

5.Firefox注册innerText写法

 
 
 
  1. //注册firefoxinnerText
  2. HTMLElement.prototype.__defineGetter__("innerText",
  3. function(){
  4. varanyString="";
  5. varchildS=this.childNodes;
  6. for(vari=0;iif(childS[i].nodeType==1)
  7. anyString+=childS[i].tagName=="BR"?'\n':childS[i].innerText;
  8. elseif(childS[i].nodeType==3)
  9. anyString+=childS[i].nodeValue;
  10. }
  11. returnanyString;
  12. }
  13. );
  14. HTMLElement.prototype.__defineSetter__("innerText",
  15. function(sText){
  16. this.textContent=sText;
  17. }
  18. );

 6.长度:FireFox长度必须加“px”,IE无所谓

7.父控件下的子控件:IE是“children”,FireFox是“childNodes”

8.XmlHttp

在IE中,XmlHttp.send(content)方法的content可以为空,而firefox则不能为空,应该用send(""),否则会出现411错误

分享文章:学习笔记Firefox浏览器兼容JS脚本
文章URL:http://www.shufengxianlan.com/qtweb/news47/41897.html

网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联