CSS中:visited的隱私保護

來源:互聯網
上載者:User
CSS 偽類 (Pseudo-classes)

錨偽類:在支援 CSS 的瀏覽器中,連結的不同狀態都可以不同的方式顯示,這些狀態包括:活動狀態,已被訪問狀態,未被訪問狀態,和滑鼠移至上方狀態。

a:link {color: #FF0000}/* 未訪問的連結 */a:visited {color: #00FF00}/* 已訪問的連結 */a:hover {color: #FF00FF}/* 滑鼠移動到連結上 */a:active {color: #0000FF}/* 選定的連結 */

對於a標籤的使用經常通過偽類來改變樣式,比如hover懸停後的background背景,font-size字型大小,text-decoration文本樣式(none去底線),color字型顏色等,但是在:visited下卻無法改變這麼多樣式。

<!DOCTYPE html><html>    <head>        <meta charset="UTF-8">        <title></title>        <style type="text/css">.fi:hover{    text-decoration: none;    color: green;    font-size: 20px;    background-color: red;     border: 1px solid black;}.se:visited{    text-decoration: none;/*無效*/    color: green;    font-size: 20px;/*無效*/    background-color: red; /*這個按理來說應該有效*/       border: 1px solid black;/*無效*/}        </style>    </head>    <body>        <a href="#qwe" class="fi">123465</a><br />        <a href="#aasd" class="se">7890</a>    </body></html>

許多年前,CSS:visited曾是一種查詢使用者記錄的途徑,它自身並沒有什麼威脅,但是當其與js中的getComputedStyle()聯合,便可以通過你的記錄找到你去過哪裡。其速度可達到210,000 URLs每分鐘,那麼就有可能獲得你大量的曆史資訊或者通過指紋列印複製你的身份。由於瀏覽器可以儲存很長一段時間的記錄,這種方法可以暴露你相當一部分瀏覽資訊。

哇靠,那群牛逼的人當讓不想讓別人看到自己天天在哪些網上下資源啦,所以他們開始著手保護使用者ziji的隱私。好吧,他們是這麼做的。

將getComputedStyle方法變性,總是返回values就好像使用者從沒訪問過這個網站。(不過我沒試過這到底是個什麼東西。)

將:visited閹割,只能用於修改color,background-color,border-*-color,outline-color,以及部分的fill和stroke屬性,其他屬性則被:link代替。並且不能用rgba(),hsla(),transparent這些顏色。

翻譯的有錯誤的地方,歡迎來打我臉。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.