5

document.querySelectorAll('a:visited')总是返回空的 NodeList,即使 DOM 有一些访问过的链接。

我已经在 Chrome 中尝试过。是否有任何已知的错误或预期的行为?

如果我在样式表中使用它而不是 querySelectorAll,虽然:visited效果很好。

a:visited{
    color:yellow;
}

我认为伪类可以作为querySelectorAll().

4

1 回答 1

10

我找不到任何专门针对 Chrome 引用此行为的来源,但通常会这样做以防止页面上的代码能够访问用户历史记录,这是一个隐私问题。

Selectors API 有一个专门讨论这个问题的部分。这是一个相关的小片段:

历史盗窃是一个潜在的隐私问题,因为:visited选择器中的伪类允许作者查询哪些链接被访问过。
...
正如选择器...中定义的那样,用户代理可以将所有链接视为未访问的链接

于 2013-04-16T07:00:01.523 回答