【摘要】:在1.1.2 JavaScript特点一节提到过JavaScript具有跨平台特性,仅在浏览器上运行,与操作系统无关。浏览器兼容性有关问题如下:1.事件兼容性事件绑定addEventListener()与attachEvent(),对应事件解绑removeEventListener()与detachEvent();事件对象,IE下Event是全局对象,Chrome、Firefox下Event是函数参数;事件冒泡stopPropagation()与cancleBubble;事件阻止preventDefault()与returnValue;事件名称不同,比如鼠标滚轮事件,Chrome、IE下是mousewheel,Firefox下是DOMMouseScroll。
在1.1.2 JavaScript特点一节提到过JavaScript具有跨平台特性,仅在浏览器上运行,与操作系统无关。不过因为不同浏览器厂商的实现不同,也会导致JavaScript在浏览器上存在一些兼容性问题,这类问题涉及具体的JavaScript应用,建议读者在学习完本书之后再深入研究。本节只做简单介绍,不做深入学习。浏览器兼容性有关问题如下:
1.事件兼容性
(1)事件绑定addEventListener()与attachEvent(),对应事件解绑removeEventListener()与detachEvent();
(2)事件对象,IE下Event是全局对象,Chrome、Firefox下Event是函数参数;
(3)事件冒泡stopPropagation()与cancleBubble;
(4)事件阻止preventDefault()与returnValue;
(5)事件名称不同,比如鼠标滚轮事件,Chrome、IE下是mousewheel,Firefox下是DOMMouseScroll。
2.AJAX兼容性
(1)http请求对象构建方式,new XMLHttpRequest()与new ActiveXObject("Microsoft.XMLHTTP");
(2)http请求进度事件progress;(www.chuimin.cn)
(3)IE针对未知的responseType会抛出错误。
3.样式对象
(1)IE的呈现原理导致runtimeStyle与currentStyle不能完全同步;绝大部分情况下,只需要关心currentStyle;
(2)className对象操作,IE不支持操作classList。
4.JavaScript不同版本
(1)最新函数支持,比如DOM选择器;
(2)最新语言特性支持,比如变量作用域。
遇到兼容性问题时,我们一般可以通过查询官方文档或者搜索开发者论坛解决。