资讯专栏INFORMATION COLUMN

javascript的兼容问题

acrazing / 2754人阅读

摘要:我们在写的时候会遇见很多兼容问题,大部分是以下浏览器和其他浏览器的区别。下面整理每次遇见的兼容问题。代表读取编译完成成功把成功结果传递给成功函数把错误状态码传递给失败函数调用

我们在写javascript的时候会遇见很多兼容问题,大部分是ie9以下浏览器和其他浏览器的区别。下面整理每次遇见的兼容问题。
我们常使用的兼容方法是if或者||符号

1、addEventListener和attachEvent 事件绑定


  
    事件绑定
    
  
  
    
  

这样每次写的时候比较麻烦,我们可以把这个兼容性封装下,代码如下:



  
    事件绑定封装
    
  
  
    
  
2、removeEventListener和detachEvent 删除事件 3、ev和event

示例:



  
    event兼容测试
    
  
  
  
4、currentStyle(ie)和getComputedStyle(非ie)获取元素的当前样式封装



  获取样式兼容写法
  


  
5、new XMLHttpRequest()和new ActiveXObject("Microsoft.XMLHTTP")封装一个get请求
function ajax(url,fnSucc,fnFaild){
  // 第一步:创建ajax对象
  if(window.XMLHttpRequest){
    var oAjax=new XMLHttpRequest();
  }else{
    var oAjax=new ActiveXObject("Microsoft.XMLHTTP");
  }
  // 第二步:链接服务器
  // open(方法,文件名即地址,异步传输)
  oAjax.open("GET",url,true);
  // 第三步:发送请求
  oAjax.send();
  // 第四步:接收返回
  oAjax.onreadystatechange=function(){
    if(oAjax.readyState===4){//判断浏览器和服务器进行到哪一步了。4代表读取编译完成
      if(oAjax.status===200){//成功
        fnSucc(oAjax.responseText);//把成功结果传递给成功函数
      }else{
        if(fnFaild){
          fnFaild(oAjax.status);//把错误状态码传递给失败函数
        }
      }
    }
  }
}

调用

ajax("a.txt",function(str){
  alert(str);
},function(error){
  alert(error);
})

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/96944.html

相关文章

  • 如何机制地回答浏览器兼容问题

    摘要:前言有过面试经验的同学应该都被问过浏览器兼容性的问题,对于面试官的问题,常常猝不及防,因为通常他们都是这么问的。来谈谈浏览器兼容的问题吧,你对浏览器的兼容性有了解过吗,那么如何才是我们正确回答这个问题的姿势呢。 前言 有过面试经验的同学应该都被问过浏览器兼容性的问题,对于面试官的问题,常常猝不及防,因为通常他们都是这么问的。来谈谈浏览器兼容的问题吧,你对浏览器的兼容性有了解过吗,那么如...

    leanote 评论0 收藏0
  • 如何机制地回答浏览器兼容问题

    摘要:前言有过面试经验的同学应该都被问过浏览器兼容性的问题,对于面试官的问题,常常猝不及防,因为通常他们都是这么问的。来谈谈浏览器兼容的问题吧,你对浏览器的兼容性有了解过吗,那么如何才是我们正确回答这个问题的姿势呢。 前言 有过面试经验的同学应该都被问过浏览器兼容性的问题,对于面试官的问题,常常猝不及防,因为通常他们都是这么问的。来谈谈浏览器兼容的问题吧,你对浏览器的兼容性有了解过吗,那么如...

    Rindia 评论0 收藏0
  • 前端兼容性探讨

    摘要:个人认为兼容性的问题也是对这三个方面进行处理。能力检测需要注意两点先检测达成目的的最常用的特性,可以保证代码最优化,并避免检测多个条件必须测试实际要是用到的特性这些就是小可对兼容性的理解,有不对的希望各位朋友指正探讨,嘻嘻 这里和朋友们简单探讨一下个人对于前端兼容性的一些理解: 在项目中,前端主要处理html,css,javaScript代码,当然还有可能接触到razor等渲染引擎方面...

    MobService 评论0 收藏0
  • 前端兼容性探讨

    摘要:个人认为兼容性的问题也是对这三个方面进行处理。能力检测需要注意两点先检测达成目的的最常用的特性,可以保证代码最优化,并避免检测多个条件必须测试实际要是用到的特性这些就是小可对兼容性的理解,有不对的希望各位朋友指正探讨,嘻嘻 这里和朋友们简单探讨一下个人对于前端兼容性的一些理解: 在项目中,前端主要处理html,css,javaScript代码,当然还有可能接触到razor等渲染引擎方面...

    Andrman 评论0 收藏0
  • 前端兼容性探讨

    摘要:个人认为兼容性的问题也是对这三个方面进行处理。能力检测需要注意两点先检测达成目的的最常用的特性,可以保证代码最优化,并避免检测多个条件必须测试实际要是用到的特性这些就是小可对兼容性的理解,有不对的希望各位朋友指正探讨,嘻嘻 这里和朋友们简单探讨一下个人对于前端兼容性的一些理解: 在项目中,前端主要处理html,css,javaScript代码,当然还有可能接触到razor等渲染引擎方面...

    developerworks 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<