2012-11-28 38 views
0

我的CSS文件,訪問過的鏈接有這個檢測與jQuery

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> 

而且事實證明我在紅色的所有鏈接,即使他們未被訪問 什麼不對的!

+0

理論上你*認爲*它應該工作。但是,它不會工作。決不。您無法區分鏈接是否由CSS顏色樣式訪問。 – VisioN

+0

如果您訪問鏈接然後刷新頁面上的代碼,它會工作嗎?我看不到如何調用這個腳本,但是如果它只在加載時運行,那麼此時鏈接將不會被訪問(遠射) –

+0

也可以查看http://stackoverflow.com/questions/1210871/use-jquery-select-visited-links –

回答

4

這是一個已經被現代瀏覽器修復的安全漏洞。如果用戶訪問它們,它可以在隱藏的div中分發大量鏈接列表並確定。

所以這樣,你幾乎可以嗅探用戶的歷史,如果你只檢查足夠的鏈接。既不檢查:visited,也不使用顏色檢查。想想另一種方法來做到這一點,而不依賴於:visited

+0

你有一個瀏覽器(版本)的列表,這個安全流程已修復?謝謝! –