0

我的css文件有这个

a:visited
{
color:red;
}

我的html页面有这个

<body>
<a href="http://www.w3schools.com">W3Sschools</a>
<div></div>
<a href="http://www.google.com">Google</a>
<div></div>
<a href="http://www.wikipedia.org">Wikipedia</a>
<div></div>
<script>
if($("a:visited").length){
$("a").next().html("this link is visited");
}
</script>
</body>

但它不起作用..所以我在脚本区域尝试了另一种选择

<script>
if($("a").css("color","red")){
$("a").next().html("this link is visited");
}
</script>

即使没有访问它们,它也会将我的所有链接都变成红色,这有什么问题!

4

1 回答 1

4

这是现代浏览器已修复的安全漏洞。可以在隐藏的 div 中吐出大量链接列表并确定用户是否访问了它们。

因此,如果您只检查足够多的链接,您实际上可以嗅探用户历史记录。既不检查:visited也不使用颜色检查。在不依赖:visited.

于 2012-11-28T19:48:30.047 回答