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;
})
chrome-Firefox-IE浏览器兼容总结的更多相关文章
- IE内嵌google chrome frame解决浏览器兼容问题
IE内嵌google chrome frame解决浏览器兼容问题 http://www.cnblogs.com/xwdreamer/archive/2013/12/17/3477776.html 参 ...
- 【转】IE内嵌google chrome frame解决浏览器兼容问题
参考文献: http://www.pseudowired.com/2012/12/04/tomcat-http-header-manipulation/(html中自动添加使用chrome的heade ...
- WEB前端:浏览器(IE+Chrome+Firefox)常见兼容问题处理--01
兼容问题目录 1.IE6下怪异盒模型 2.IE6下最小高度问题 3.IE6下不支持1px的点线 4.IE6下内容会把父级的高度撑开 5.IE6下只支持给a标签添加伪类 6.IE67下不支持给块标签加d ...
- WEB前端:浏览器(IE+Chrome+Firefox)常见兼容问题处理--03
兼容问题目录 16.IE67下子级有相对定位,并且比父级要大.那父级overflow:hidden;后是包不住它的 17.IE6下同一层级的浮动元素会盖住绝对定位元素 18.IE6下定位父级的宽高是奇 ...
- WEB前端:浏览器(IE+Chrome+Firefox)常见兼容问题处理--02
兼容问题目录 8.IE6不支持固定定位 9.IE6下前面元素浮动,后面元素不浮动后他们之间会有间隙 10.IE6下双边距问题 11.IE67下父级有边框,子级有margin的话会不起作用 12.IE6 ...
- 如何禁用Chrome / Firefox /IE浏览器的Cookie
Firefox: 点击菜单按钮并点击选项 按钮. 选择 隐私 面板. 将“Firefox 将会:”这一项设置为 使用自定义历史记录设置. 取消 接受来自站点的 Cookie 选项 即可禁用 Cooki ...
- 兼容IE,chrome 等所有浏览器 回到顶部代码
今天在博客园看到一片帖子回到顶部代码,索性就看了下,但是发现在非IE浏览器下可以运行,在IE浏览器下却运行不了. 故将其代码搬弄过来做了些许修改后,完美支持了IE下的运行. 主要实现功能代码文件: & ...
- 关闭浏览器输入框自动补齐 兼容IE,FF,Chrome等主流浏览器
这篇文章主要介绍了关闭浏览器输入框自动补齐 兼容IE,FF,Chrome等主流浏览器,需要的朋友可以参考下.希望对大家有所帮助 Firefox 和 IE 的浏览器各自实现了input历史记录的功能 ...
- PluginOK中间件高级版-支持在Chrome、Edge、Firefox等浏览器网页中真正内嵌ActiveX等控件运行的版本已获多家上市公司采购
PluginOK(牛插)中间件(原名:本网通WebRunLocal)是一个实现WEB浏览器(Web Browser)与本地程序(Local Application)之间进行双向调用的低成本.强兼容.安 ...
- Chrome firefox ie等浏览器空格 宽度不一样怎么办
有点强迫症,之前某个页面用了空格 ,但是在chrome firefox 和ie显示的宽度都不一样,无法对齐. 搜索了一下,很多人都转载了那篇设置成宋体的,可是仍然没对齐,要么ie对齐,要么chrome ...
随机推荐
- WebDriver高级应用实例(4)
4.1操作web页面的滚动条 被测网页的网址: http://v.sogou.com Java语言版本的API实例代码 import org.testng.annotations.Test; impo ...
- Flask-socketio聊天室 (附源码)
`* A Chat Room Completed with Flask-socketio 功能: 实时消息更新,实时用户上线显示 快捷注册 快捷登陆 表情支持 截图: 使用方法: 安装依赖:pip i ...
- vmworkstation安装unbuntu server 网络配置:NAT模式
之前安装虚拟机测试环境的时候,习惯了使用桥接模式或者仅主机模式:今天偶然发现,其实NAT 模式的网络配置还是挺方便的. 在新建虚拟机的时候,选择网络模式为NAT,虚拟机创建完成之后,在vmworkst ...
- 集合框架_DAY16
1:List及其子类(掌握) (1)List的特点: Collection |--List:元素有序(存入顺序和取出顺序一致),可重复. |--Set:元素无序,唯一. ...
- Windows下调试hadoop
1. 本地模式 本地模式下调试hadoop:下载winutils.exe和hadoop.dll hadoop.lib等windows的hadoop依赖文件放在D:\proc\hadoop\bin目 ...
- Azure Storage架构介绍
Windows Azure Storage由三个重要部分或者说三种存储数据服务组成,它们是:Windows Azure Blob.Windows Azure Table和Windows Azure Q ...
- Android返回系统Home桌面
Intent intent = new Intent(); // 为Intent设置Action.Category属性 intent.setAction(Intent.ACTION_MAIN);// ...
- Python做int()强制类型转换的时候,小数是如何取舍的?
白月黑羽今天给大家分享一个冷知识:) int()强制类型转换小数是如何取舍的? 使用 int() 将小数转换为整数,小数取整会采用比较暴力的截断方式,即小数点后面的会被强制舍去,向下取整. 例如:5. ...
- Centos7 开启端口
CentOS7默认没有使用iptables,所以通过编辑iptables的配置文件来开启80端口是不可以的. CentOS 7 采用了 firewalld 防火墙. 如要查询是否开启80端口: [ro ...
- 几句话的事儿,LogBack急速使用
1.说说logback 在java的世界里面好像从来只有log4j,因为它是在太有名气了.说实话,我也没觉得它那里不好,至少在我自己的项目里,它工作的好好的.但是主流有一种声音,在慢慢的放弃它,最始作 ...