0

我想用 jquery 在我的页面上获取链接的颜色。坦率地说,我想跟踪访问我页面的访问者,看看他们是否访问过另一个网站,然后根据他们访问过的网站进行推断。

这个想法是这样的:我有一个链接,比如说,profootballtalk.com。如果他们访问过该站点,则链接应通过使用 :active 伪类显示为红色。如果不是,它是蓝色的。然后我使用 jquery 来获取链接元素的 css("color"),如果它返回 "red",则告诉我他们去过那个网站。

所以我建立了一个简单的 html 页面,你猜怎么着……它说链接每次都是蓝色的,即使它是红色的。有谁知道发生了什么?我认为这不会属于通常的“jquery 不支持伪类”答案,因为它实际上只与获取元素的渲染颜色有关。

这是我的整个 html 页面:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<script src="http://code.jquery.com/jquery.min.js"></script>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.16/jquery-ui.js"></script>
<link rel="stylesheet" type="text/css" href="style.css">
<style>
a:visited {
    color:red;
}
</style>
</head>
<body>
<a href="http://www.w3schools.com/css/css_pseudo_classes.asp">Linkitylinklinklink</a>
<a id="thisguy" href="http://whatscookinerndog.blogspot.com/2010/07/casa-de-luz-sun-cheese.html">facebook</a>
<script>
$(document).ready(function(){
    var color = $("#thisguy").css("color");
    alert(color);
});
</script>
</body>
</html>
4

1 回答 1

1

由于现代浏览器(例如 FireFox)中的安全功能,这不再可能:http: //hacks.mozilla.org/2010/03/privacy-related-changes-coming-to-css-vistited/

您将不得不使用 HTML5 localStorage、cookie 或服务器端存储等其他东西来记住用户的移动。

于 2012-12-03T23:55:49.210 回答