今天在处理浏览器的预读下一页功能的是否遇到一个Bug,问题简单描述如下

一个连接在页面中不可见,不可见的属性是在其父元素或者更上层的元素中定义的。

我们最终要得到的是页面中所有可见的链接的节点。

可以这样实现:

1.首先得到页面中所有的节点

document.getElementsByTagName('a')

2.排除不可见节点

对于不可见节点获取方式有以下几种

a.获取该元素的display属性

b.如果该元素的display属性没有定义,获取父元素的相应属性

c.获取该元素的宽度属性,因为如果该元素宽度为0,很显然是不可见的

综上:c的思路是最有成效的

于是,去掉anchor.offsetWidth == 0的所有A元素就可以了