博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
ie烦人的bug篇
阅读量:7290 次
发布时间:2019-06-30

本文共 1401 字,大约阅读时间需要 4 分钟。

好多公司都不支持ie6了,基本都是ie8+,就连jq新版本也宣布放弃低版本ie,就不用说那些框架了,不过想用兼容ie的angularjs可以用我司徒大神写的avalon,个人感觉avalon也是比较好的,而且轻量,崇拜++。想用es6的同学可以github

es5-shim,react是不兼容ie8的,反正这些东西在ie低版本有n多bug,不是一个es5-shim能完全cover的。

unshift ie6.7下不返回长度

splice一个参数的情况下,ie6、7、8默认为0,其他浏览器默认为数组length

//判断window

function isWindow(){
window==document//IE678 true
document==window//IE678 false
}

旧版本ie下dom bom对象的constructor属性没有暴露出来

ie678

getAttribute不能返回用户预设,返回一个CSSStyleDeclaration
getAttribute href 会自动补充为完整路径
不支持opacity,要使用滤镜
在用innerHTML创建table元素,会被自动添加tbody,其他只返回<table></table>
用innerHTML转换字符串为元素节点,ie支持不完好,包括script,link,style,meta在内的no-scope元素都转换失败,需要在它前面添加一些字符,H5标签支持同不好。
判断select元素的disabled属性是否影响到子元素disabled取值。在Safari中,一旦select元素被disabled,他的孩子也被disabled
如果一个checkbox被设置checked=true,多次克隆后,只有Safari4中返回false
判断克隆元素时是否克隆attachEvent绑定的事件,只有旧版本IE及其兼容模式返回false
判断浏览器是否支持encoding属性,ie67要用encoding代替
判断能否删除元素节点自定义属性,旧版本IE不支持,直接置为undefined
判断getComputedStyle能否正确取得元素marginRight,Safari早期版本总是取回一个很大的数
当复制品指定了background-*样式的元素,对复制品的背景清空也会清空原来的

var div=document.createElement("div")

div.innerHTML=" <b>1</b><b>2</b>"
document.body.appendChild(div);
console.log(div.childNodes.length);//ie6-8弹出3,其他4
console.log(div.fristChild.nodeType)//ie6弹出1,其他3

ie6-8存在超空间的概念,当dom节点移出但是又有js相关联的时候,dom就会被存放在超空间。可以用parentNode判断

onXXX在ie下没有参数,其他第一个参数为event

 上面这些bug,还有许多更奇葩的bug,让人对ie深恶痛绝。如果有更多bug欢迎提出,如果有更多的知识点,以后会慢慢更新。

转载于:https://www.cnblogs.com/dh-dh/p/5083756.html

你可能感兴趣的文章
排序算法 JavaScript
查看>>
怎样将优酷独播1080P视频KUX格式转换成MP4
查看>>
148. Sort List
查看>>
Scrum - 指导原则
查看>>
bootstrap-table 表头和内容宽度不一致, 列内容错位问题
查看>>
行内元素有哪些?块级元素有哪些? 空(void)元素有那些?
查看>>
微服务实战:从架构到发布(二)
查看>>
Mongodb数据库安装
查看>>
JVM(六)为什么新生代有两个Survivor分区?
查看>>
刷前端面经笔记(一)
查看>>
介紹敏捷方法: Scrum, Kanban or Lean?
查看>>
DANet&CCNet
查看>>
面试必问之JVM原理
查看>>
CSS居中总结大全
查看>>
Git的使用
查看>>
eggjs实现一个较为完整的后台管理系统
查看>>
一幅GAN网络创造的肖像图卖了40万美金,但那又怎样?
查看>>
聊聊flink的Session Window
查看>>
简单谈谈栈
查看>>
JavaScript对象复制理解
查看>>