chrome-Firefox-IE浏览器兼容总结

作为一名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;

  })

时间: 2024-11-12 11:56:18

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

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

IE内嵌google chrome frame解决浏览器兼容问题 http://www.cnblogs.com/xwdreamer/archive/2013/12/17/3477776.html 参考文献: http://www.pseudowired.com/2012/12/04/tomcat-http-header-manipulation/(html中自动添加使用chrome的header) http://www.baike.com/wiki/Google+Chrome+Frame(goo

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

Firefox: 点击菜单按钮并点击选项 按钮. 选择 隐私 面板. 将"Firefox 将会:"这一项设置为 使用自定义历史记录设置. 取消 接受来自站点的 Cookie 选项 即可禁用 Cookie. Chrome: 1.打开chrome浏览器,点击右上角的"自定义和控制Google Chrome"按钮 2.在下拉菜单中选择设置 3.点击设置页底部的"显示高级设置..." 4.在隐私设置下,点击"内容设置..."按钮. 5

基于各种浏览器兼容的写法

不多说,各种浏览器ie,Chrome,firefox,safari,为了兼容各种浏览器,写样式的时候要对于各种不同的浏览器针对来写 比如说-webkit-box-shadow,对于webkit内核的Chrome ,safari是支持的box-shadow属性的 而-moz-box-shadow是对于moz内核的firefox浏览器的支持~ 日常当中我们会碰到一些诸如此类的css代码,看不懂的朋友希望能够帮到大家

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

这篇文章主要介绍了关闭浏览器输入框自动补齐 兼容IE,FF,Chrome等主流浏览器,需要的朋友可以参考下.希望对大家有所帮助 Firefox 和 IE 的浏览器各自实现了input历史记录的功能,可以简化输入时的麻烦,但是,有时候弹出的下拉框会挡住页面显示内容,而且在某些情况下也不需要对input框进行记录,如号码查询的input框,用户不会对同一个号码进行多次查询,就没有必要让浏览器记录. MSIE自定义了input 的扩展属性 autocomplete,置为off即可 <input typ

不同浏览器(chrome,firefox,IE)在JQuery与原生JS之执行性能比较

本次测试所用浏览器为chrome(36.0.1985.125m),firefox(31.0),IE(8.0) 1. 比较JQuery在不同浏览器对于js的执行性能 计算插入20000条div节点所需时间 for(var i=0;i<20000;i++){ var divTag = document.createElement('div'); $("#chn").append(divTag); } Result: 时间单位ms chrome 584 614 593 574 596

各种浏览器的Hack写法(chrome firefox ie等)

Hack是针对不同的浏览器去写不同的CSS样式,从而让各浏览器能达到一致的渲染效果,那么针对不同的浏览器写不同的CSS CODE的过程,就叫CSS HACK,同时也叫写CSS Hack.然后将Hack放在浏览器特定的CSS文件中,让其符合条件的浏览器解析这些代码,就如前面所说的条件样式,我们将CSS Hack代码放入条件样式文件中,符合条件的浏览器就解析,不符合的将不解析,从面达到您所需要的页面渲染效果.总的一句话来说使用CSS Hack将会使用你的CSS代码部分失去作用,然后借助条件样式,使用

[完美]原生JS获取浏览器版本判断--支持Edge,IE,Chrome,Firefox,Opera,Safari,以及各种使用Chrome和IE混合内核的浏览器

截至自2017-08-11,支持现世已出的几乎所有PC端浏览器版本判断. 受支持的PC端浏览器列表: Edge IE Chrome Firefox Opera Safari QQ浏览器 360系列浏览器 使用IE内核的非主流浏览器 使用Chrome内核的非主流浏览器 使用混合内核的非主流浏览器 获取浏览器版本方法: function getBroswer(){ var sys = {}; var ua = navigator.userAgent.toLowerCase(); var s; (s

浏览器兼容之Chrome浏览器: -webkit-text-size-adjust: none;

今天在看demo的时候css样式里面发现的 -webkit-text-size-adjust: none; 度娘以后,了解这段样式的作用是:解决Chrome浏览器里面,设置小于12px的字体大小问题. 例子如下: p1 { font-size: 11px; }; p2 { font-size: 12px; } 当用Chrome浏览器打开的时候,两个段落的字体大小是一样大的.这是因为Chrome浏览器会把字体大小小于12px的字体默认修改成12px,所以才会出现p1.p2段落字体大小一样的情况.

Chrome firefox ie等浏览器空格&amp;nbsp;宽度不一样怎么办

有点强迫症,之前某个页面用了空格 ,但是在chrome firefox 和ie显示的宽度都不一样,无法对齐. 搜索了一下,很多人都转载了那篇设置成宋体的,可是仍然没对齐,要么ie对齐,要么chrome没对齐,于是好好研究了一下空格. 文章在这里:HTML中       等6种空白空格的区别 大家都 不好把控,于是,我们找到了新的替代方案: 用半角空格 或者全角空格 就可以了, 相当于半格中文字符的宽度, 相当于一个中文字符宽度. 大家试试吧,完美解决,多浏览器都对齐了,心里舒坦了,哈哈~ 文章来

FireFox火狐浏览器与IE兼容问题 - 透明滤镜 DIV滚动条

问题一:最简单的鼠标移过手变型的css要改了 cursor:pointer;/*FireFox(火狐)不支持cursor:hand*/ dw8下面自动出来的也没有hand这个属性了,标准的是pointer 问题二:FireFox(火狐)不支持滤镜 最常见的半透明不支持. filter: Alpha(Opacity=50); /* for IE */ opacity: .5;/* for Firefox */ style="-moz-opacity:0.5; filter:alpha(opacit