éç§ä¸:visited éæ©å¨
å¨å¤§æ¦ 2010 å¹´æ¶ï¼CSS éæ©å¨ :visited 被ç½ç«ç¨æ¥æ£æµç¨æ·çæµè§è®°å½ï¼å¹¶æ¾åºç¨æ·é½è®¿é®è¿åªäºç½ç«ãè¿äºå¯ä»¥éè¿ window.getComputedStyle åå
¶ä»ææ¯å®ç°ãè¿ä¸ªè¿ç¨å¯ä»¥å¾è¿
éçæ§è¡ï¼ä¸ä»
è½å¤å¤æç¨æ·æ¯å¦æ¾ç»è®¿é®è¿è¿ä¸ªé¡µé¢ï¼è¿è½åæ¤çæµåºå¤§éçç¨æ·èº«ä»½ä¿¡æ¯ã
为äºè§£å³è¿ä¸ªé®é¢ï¼Gecko 2 å®ç°äºä¸é¡¹éç§æ¹é¢çæ´æ°ï¼éå¶ç½ç«å¯ä»¥ä»è®¿é®è¿ç龿¥ä¸è·å¾çä¿¡æ¯ãå ¶ä»çæµè§å¨ä¹å·²ç»åäºç¸åçæ¹åã
åæçè°è¨
为äºä¿æ¤ç¨æ·éç§ï¼ç«çåå ¶ä»æµè§å¨ä¼å¨ç¹å®æ åµä¸åç½ç«åºç¨æè°ï¼
window.getComputedStyleæ¹æ³åå ¶ä»ç±»ä¼¼çåè½ï¼ä¾å¦element.querySelectorï¼å°æ»æ¯å°ææé¾æ¥é½çå¾ ä¸ºâæªè®¿é®è¿âçã- 使ç¨å½¢å¦
:visited + spançå å¼éæ©å¨æ¶ï¼æå®çå ç´ ï¼æ¬ä¾ä¸çspanï¼æ»æ¯ä¼æç §é¾æ¥æªè®¿é®è¿æ¾ç¤ºã - å¨ä¸äºç¹æ®çæ åµä¸ï¼ä¾å¦é¾æ¥å ç´ åµå¥ï¼ä¸éä¸çå ç´ ä¸æ¯æ£æ¥åå²è®°å½ç龿¥å ç´ ã对åºå ç´ åæ ·ä¼æç §é¾æ¥æªè®¿é®è¿æ¸²æã
对已访é®é¾æ¥æ ·å¼çéå¶
ä½ ä»ç¶å¯ä»¥ç»å·²è®¿é®é¾æ¥è®¾ç½®è§è§æ ·å¼ï¼ä½æ¯å¯¹å¯ç¨æ ·å¼ä½åºäºéå¶ãåªæä¸åç屿§æè½è¢«åºç¨å°å·²è®¿é®é¾æ¥ï¼
colorbackground-colorborder-color(and its sub-properties)outline-colorfillåstroke屿§çé¢è²é¨å
æ¤å¤ï¼å³ä¾¿æ¯ä¸è¿°æ ·å¼ï¼ä½ ä¹ä¸è½ç»è®¿é®è¿åæªè®¿é®è¿è®¾ç½®ä¸åçéæåº¦ãä½ ä¸è½ä½¿ç¨rgba()ãhsla()ææ¯ transparent å
³é®è¯ã
è¿æ¯ä¸ä¸ªä½¿ç¨è¢«éæ ·å¼çä¾åï¼
:link {
outline: 1px dotted blue;
background-color: white;
/* background-color çé»è®¤å¼ä¸º 'transparent'ã
ä½ å¿
é¡»æå®ä¸ä¸ªä¸åå¼ï¼å¦åæ æ³åºç¨å¯¹ :visited çä¿®æ¹ */
}
:visited {
outline-color: orange; /* 已访é®é¾æ¥çè½®å»ä¸ºæ©è² */
color: yellow; /* 已访é®é¾æ¥çææ¬ä¸ºé»è² */
background-color: green; /* 已访é®é¾æ¥çèæ¯ä¸ºç»¿è² */
}
对 WEB å¼åè çå½±å
æ»ä½æ¥è¯´ï¼è¿ä¸ä¼æ¾èå°å½±åå° WEB å¼åè ãä½å¨ä¸äºç¹æ®æ åµä¸ï¼ç½ç«éè¦åäºä¿®æ¹ï¼
- 使ç¨èæ¯å¾çæ¥åºå龿¥æ¯å¦è¢«è®¿é®è¿çæ ·å¼ä¸åèµ·ä½ç¨ï¼å ä¸ºåªæé¢è²æè½è¢«ä½ç¨å°å·²è®¿é®é¾æ¥ä¸ã
- ä¸è½éè¿
:visited鿩卿å®äºéææä¸éæçé¢è²ã
æ´å¤
- privacy-related changes coming to CSS :visited on Mozilla Hacks
- Plugging the CSS History Leak on the Mozilla Security Blog
- Preventing attacks on a user's history through CSS :visited selectors