js原生的兼容性问题

最近看《javascript权威指南》一书,出现了一些js兼容性的问题,测试了一些代码,于是总结一下,若有其他的还会后续增加。

1、querySelector和querySelectorAll在IE8以及以下的IE浏览器都不兼容。

2、nextElementSibling(这一类型DOM)在IE8以及以下的IE浏览器都不兼容,在IE8以及以下的IE浏览器可以使用nextSibling(这一类型DOM),它们在这种浏览器中是不会获取到文本节点的;而IE>=9以及其他浏览器在nextSibling(这一类型DOM)上是会获取到文本节点的。

3、textContent用在IE>8以及其他浏览器上,innerText用在IE<9的浏览器上获取文本。

4、insertAdjacentHTML和outHTML在FF上是不支持的,可以自己使用appenChild以及innerHTML来自己完美实现它们。

5、clientWidth、clientHeight表示的是内容+内边距的大小;offsetWidth、offsetHeight表示内容+内边距+边框的大小(假如有滚动条,也会包括滚动条的距离)。

6、document.documentElement是在标准模式的时候使用来获取窗口的宽高信息等;document.body是在怪异模式的时候来获取窗口的宽高信息等。

7、标准模式和怪异模式取决于在文档的最顶端是否写了<!DOCTYPE html>。怪异模式和标准模式会有一些区别,标准模式使用的是W3C的标准,而怪异模式使用的是该浏览器自己的标准。

posted @ 2017-01-23 16:45  一朵羊毛飞上天  阅读(203)  评论(0编辑  收藏  举报