视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
CSS中:visited的隐私保护
2020-11-27 18:53:12 责编:小采
文档

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">70</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这些颜色。

翻译的有错误的地方,欢迎来打我脸。

更多CSS中:visited的隐私保护 相关文章请关注PHP中文网!

下载本文
显示全文
专题