0

jqueryで自分のページのリンクの色を取得したいと思います。率直に言うと、私のページへの訪問者を追跡して、別の Web サイトにアクセスしたことがあるかどうかを確認し、訪問した Web サイトに基づいて推論を行いたいと考えています。

アイデアは次のとおりです。たとえば、profootballtalk.com へのリンクがあります。ユーザーがそのサイトにアクセスしたことがある場合、:active 疑似クラスを使用してリンクが赤く表示されるはずです。そうでないなら青です。次に、jquery を使用して link 要素の 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 に答える