Skip to content

fixJsForIE8.js(IE8 js兼容包)

awei.yu edited this page Apr 9, 2016 · 2 revisions

说明:用于在ie8上兼容原生js各种新特性,引入它就无须修改现有js代码

引用方式:

//必须在head标签中引入,以保证该插件最优先运行
<head>
    <!--[if IE 8]>
        <script src="fixJsForIE8"></script>
    <!--[if IE 8]>
</head>

实现的功能如下:

1. 解决ie8在非调试模式下,调用console相关方法的出错情况
2. 数组类型的变量支持indexOf方法
3. 支持forEach方法遍历对象
4. 可在页面中直接通过HTMLElement,HTMLDocument等扩展原型链
5. 所有dom对象可通过addEventListener绑定事件
    this指向绑定控件本身
    事件触发顺序和现代浏览器保持一次
    实现监听表单元素的oninput事件,并支持冒泡,可以在window/document等上层对象中进行事件托管
    实现监听blur事件,并支持冒泡,可以在window/document等上层对象中进行事件托管
    实现监听focus事件,并支持冒泡,可以在window/document等上层对象中进行事件托管
    实现Event对象的stopPropagation,preventDefault方法
6. 所有dom对象可通过removeEventListener解绑事件(目前版本的解绑不彻底,特殊情况会有问题,待解决)
7. 实现getComputedStyle方法,并支持通过getPropertyValue获取样式值
8. 修复getBoundingClientRect方法可能出现返回值不准的情况
    返回结果增加属性.heght .width 同现代浏览器保持一致 
9. 实现Element元素的hasOwnProperty方法