作为一名WEB前端程序员,相信每个人对浏览器的兼容都"情有独钟",下面就一些常用的浏览器的兼容列举一二。

一、块级元素(block)一般不转化为inline-block,其实是因为浏览器的兼容问题,IE8以下的浏览器不     支持块级元素转化为行内块元素(可以使用浮动)。

二.获取元素样式:
1.oDiv.style.background:
  获取到的是行内样式的属性
2.获取显示的样式:
  标准浏览器(IE9以下是不支持):
    getComputedStyle(标签元素,false).属性名
  IE9以下获取内联样式:
    标签元素.currentStyle.属性名

  做浏览器的兼容:
  if (oDiv.currentStyle) {
    //在IE9以下
    oDiv.currentStyle.width;
  } else {
    //标准浏览器
    getComputedStyle(oDiv,false).width;
  }

3.oDiv.offset.width=100;注意:不带'px',上面两个获取的带'px'

三.获取兄弟节点
  nextSibling,previousSibling
  在高级和IE9以上的浏览器里面,兄弟节点会获取到空格,在IE8以下,才能获取到我们想要的元素节点

  previousElementSibling,nextElementSibling
  在高级和IE9以上的浏览器里面,兄弟节点会获取到对应的元素,在IE8以下,不能获取到我们想要的元素节点

  var oP1 = oP.previousElementSibling || oP.previousSibling;

四.获取第一个或最后的兄弟节点
  获取节点,获取第一个节点,获取最后一个节点
  父节点.firstChild;
  父节点.lastChild;
  1.兼容所有的浏览器
    oUl.firstElementChild || oUl.firstChild
  2.兼容所有的浏览器
    oUl.lastElementChild || oUl.lastChild

五.向上滚动的距离:
  1.在谷歌里面:
    document.body.scrollTop
  2.在火狐、IE里面:
    document.documentElement.scrollTop
  3.兼容所有浏览器:
    var scrollTop=document.documentElement.scrollTop || document.body.scrollTop;
    var scrollLeft=document.documentElement.scrollLeft || document.body.scrollLeft;

六、事件绑定的兼容
  if (obj.addEventListener) {
    //在高级浏览器
    obj.addEventListener(type,fn,false);
  } else {
    obj.attachEvent('on'+type,fn)
  }
  事件移除的兼容
  if (obj.removeEventListener) {
    obj.removeEventListener(type,fn,false);
  } else {
    obj.detachEvent('on'+type,fn);
  }

七、阻止默认事件的兼容
  function(evt) {
    var oEvent = evt || event;
    oEvent.preventDefault && oEvent.preventDefault();
    return false;
  }

八、事件委托兼容
  srcElement: 获取到事件真正作用的那个元素 (不兼容Firefox,专门用来做IE浏览器的兼容)
  target: 获取到事件真正作用的那个元素 (兼容高级浏览器)
  var oLi = oEvent.srcElement || oEvent.target;

  addEvent('oUl','click',function(evt){

    var oEvent=evt||event;

    var oLi=oEvent.srcElement||oEvent.target;

  })

chrome-Firefox-IE浏览器兼容总结的更多相关文章

  1. IE内嵌google chrome frame解决浏览器兼容问题

    IE内嵌google chrome frame解决浏览器兼容问题  http://www.cnblogs.com/xwdreamer/archive/2013/12/17/3477776.html 参 ...

  2. 【转】IE内嵌google chrome frame解决浏览器兼容问题

    参考文献: http://www.pseudowired.com/2012/12/04/tomcat-http-header-manipulation/(html中自动添加使用chrome的heade ...

  3. WEB前端:浏览器(IE+Chrome+Firefox)常见兼容问题处理--01

    兼容问题目录 1.IE6下怪异盒模型 2.IE6下最小高度问题 3.IE6下不支持1px的点线 4.IE6下内容会把父级的高度撑开 5.IE6下只支持给a标签添加伪类 6.IE67下不支持给块标签加d ...

  4. WEB前端:浏览器(IE+Chrome+Firefox)常见兼容问题处理--03

    兼容问题目录 16.IE67下子级有相对定位,并且比父级要大.那父级overflow:hidden;后是包不住它的 17.IE6下同一层级的浮动元素会盖住绝对定位元素 18.IE6下定位父级的宽高是奇 ...

  5. WEB前端:浏览器(IE+Chrome+Firefox)常见兼容问题处理--02

    兼容问题目录 8.IE6不支持固定定位 9.IE6下前面元素浮动,后面元素不浮动后他们之间会有间隙 10.IE6下双边距问题 11.IE67下父级有边框,子级有margin的话会不起作用 12.IE6 ...

  6. 如何禁用Chrome / Firefox /IE浏览器的Cookie

    Firefox: 点击菜单按钮并点击选项 按钮. 选择 隐私 面板. 将“Firefox 将会:”这一项设置为 使用自定义历史记录设置. 取消 接受来自站点的 Cookie 选项 即可禁用 Cooki ...

  7. 兼容IE,chrome 等所有浏览器 回到顶部代码

    今天在博客园看到一片帖子回到顶部代码,索性就看了下,但是发现在非IE浏览器下可以运行,在IE浏览器下却运行不了. 故将其代码搬弄过来做了些许修改后,完美支持了IE下的运行. 主要实现功能代码文件: & ...

  8. 关闭浏览器输入框自动补齐 兼容IE,FF,Chrome等主流浏览器

    这篇文章主要介绍了关闭浏览器输入框自动补齐 兼容IE,FF,Chrome等主流浏览器,需要的朋友可以参考下.希望对大家有所帮助   Firefox 和 IE 的浏览器各自实现了input历史记录的功能 ...

  9. PluginOK中间件高级版-支持在Chrome、Edge、Firefox等浏览器网页中真正内嵌ActiveX等控件运行的版本已获多家上市公司采购

    PluginOK(牛插)中间件(原名:本网通WebRunLocal)是一个实现WEB浏览器(Web Browser)与本地程序(Local Application)之间进行双向调用的低成本.强兼容.安 ...

  10. Chrome firefox ie等浏览器空格 宽度不一样怎么办

    有点强迫症,之前某个页面用了空格 ,但是在chrome firefox 和ie显示的宽度都不一样,无法对齐. 搜索了一下,很多人都转载了那篇设置成宋体的,可是仍然没对齐,要么ie对齐,要么chrome ...

随机推荐

  1. springbootf访问静态文件资源

    springboot目录结构: 网友说在springboot的配置文件中加 现在访问static目录下的jquery文件 用jquery在页面做一个弹窗 启动服务看页面效果 页面没有出现弹窗 ,连jq ...

  2. POJ 2860

    #include<iostream> #define MAXN 20 using namespace std; int a_1[MAXN]; int a_2[MAXN]; int main ...

  3. socket练习:FTP

    FTP 练习收获: 1,类型转换 2,进度条实现: 3,print 输出不换行的方法: print输出 不换行的方法: 方法一: import sys   sys.stdout.write(" ...

  4. c++拷贝构造函数(深拷贝、浅拷贝)——转

    拷贝构造函数: 拷贝构造函数是一种特殊的构造函数,函数的名称必须和类名称一致,它的唯一的一个参数是本类的一个引用变量,该参数是const类型,不可变的.例如:类A的拷贝构造函数的形式为A(A& ...

  5. vue中修改Element ui样式不起作用

    公司做的一个后台系统,由于Elemen ui是响应式的,在小屏笔记本中,一行两列的表单会自动变成一行一列,这样就很不美观了,由于是后台系统,当时也没考虑适配问题. 老总 地表最强的电脑 运行了一下,当 ...

  6. C++关于vector、queue、stack、priority_queue的元素访问

    vector.queue.stack.priority_queue对元素进行元素访问时,返回的是对应元素的引用.

  7. linux下更改时区

    起因: 装系统时一走神把时区选错了,导致时间不正确,但是又不想重装,所以找了一下解决方法. 解决方案: 我的环境时这样的,其他的环境没试过. [root@werserver01 ~]# cat /et ...

  8. webpack4 自学笔记一(babel的配置)

    所有代码都可以再我的github上查看,每个文件夹下都会有README.md,欢迎star: https://github.com/Jasonwang911/webpackStudyInit/tree ...

  9. PBN旁切转弯保护区组图

    旁切转弯是PBN(Performance Based Navigation基于性能导航)中使用频率最高的一种飞行方式,旁切转弯保护区支持最大120°的转弯. 旁切转弯保护区叠加图: 旁切转弯保护区分解 ...

  10. NYOJ 1013 除法表达式(欧几里德算法+唯一分解定理)

    题目链接: http://acm.nyist.edu.cn/JudgeOnline/problem.php?pid=1013 描述 给出一个这样的除法表达式:X1/X2/X3/···/Xk,其中Xi是 ...