美文网首页饥人谷技术博客
隐私和:visited不得不说的那些事

隐私和:visited不得不说的那些事

作者: 朱小维 | 来源:发表于2016-12-05 21:44 被阅读56次

这篇博客是一篇翻译博客,原文链接


隐私和:visited选择器的关系

在以前,css的:visited选择器是一些网站用以查询用户历史记录的一种方法。它们通过使用getComputedStyle()方法或者一些其它的技术来浏览用户的历史记录找出用户都访问了哪些网站。这种方法实现起来很快,而且把“查看用户访问了哪些网站”和“猜测用户的个人信息”变为一种可能。
为了解决这个问题,Gecko2(火狐的浏览器引擎)就限制了被访问标签携带信息的数量。

“善意的谎言”

第一个改动是:Gecko会在特定的场景中对浏览器应用撒谎。尤其是getComputedStyle()和一些类似的函数,例如 element.querySelector(),总是返回一些表明用户从未访问过页面连接的值。
同时,如果你使用兄弟选择器,例如::visited+span,那么<span>也会表现出链接没有被访问的样式。
而且,在极少数场景中,如果你使用了嵌套的链接元素,并且匹配的链接元素和历史中的链接的样式被检测为不同,那么元素也会被绘制为好像是未被访问过的样式。

上面那一句翻译不是很通顺,也有些不理解,原文如下:
And, in a rare scenario, if you're using nested link elements and the element being matched is different from the link whose presence in history is being tested, the element is drawn as if the link were unvisited as well.

被访问链接的样式限制

你将仍然能够为被访问的链接设置可视的样式,但是你所使用的样式种类将受到限制。只有下列样式属性可以被应用到已访问的链接:

  • color
  • background-color
  • border-color(和其子属性)
  • outline-color
  • 填充和描边的颜色部分

此外,即使在这些能够为已访问链接设置的样式中,你也不能够改变从未访问链接到已访问链接过程的透明度变换,虽然你在其他地方可以使用rgba()或hsla()或透明度关键词。

下面有一个如何使用有争议的限制性样式的例子:

:link {
   outline: 1px dotted blue;
   background-color: white;
   /*background-color 默认是 '透明的'.
      你需要为其设置一个颜色, 否则:visited中的背景颜色将无法显示 */
}
:visited {
   outline-color: orange;     /* visited links have an orange outline */
   color: yellow;             /* visited links have yellow colored text */
   background-color: green;   /* visited links have a green background */
}

对于网页开发者的影响

总的来说,这不会对网站开发者造成很大的影响。这可能需要对网站做如下的改变:
使用背景图片去装饰你的链接,以显示它们是否被访问,将不再是一种可行的方法,因为只有颜色样式对已访问标签是有效的。


翻译完了……太艰难了,希望大家多多指正。

相关文章

  • 隐私和:visited不得不说的那些事

    这篇博客是一篇翻译博客,原文链接 隐私和:visited选择器的关系 在以前,css的:visited选择器是一些...

  • 不得不说的那些事

    最近一段时间,接近20天的时间,觉得自己变得很颓废,每天什么事情都不干,除了上班、睡觉、看手机,就没有其他的事情想...

  • 那些不得不说的事

    按照某位抠脚大汉的话来说,那是拥有着明媚的阳光,注定着要有故事的一天... 你端坐在课桌边,时而抖腿,时而脱鞋,...

  • 我和猪不得不说的那些事

    part 1 网恋靠谱吗 从没想过要在网上谈恋爱,可是造化弄人,我和猪就是在网上认识的。和一般人不一样的是...

  • 我和学生不得不说的那些事

    端午节的晚上,我花了2个小时的时间,一封信一封信阅读了今年毕业的土木1164和1165班的同学给我的“毕业信笺”,...

  • 创业那些不得不说的事

    我所在的公司可不是什么大厂,那是一家游戏公司,我所在的部门是公司内互联网方向的事业部,主要做内部行政系统。也就是说...

  • 包房不得不说的那些事

    今天跟大家分享我最小白的一段经历。小白包房血泪史。 拿房初始,看房200套应该是大家的共识了吧,这里就不多说拿房之...

  • 雾霾和口罩那些不得不说的事

    最近几天全国雾霾非常严重,成都也是! 给大家看几个全球PM2.5的分布地图: 全国空气质量指数查询地图:http:...

  • 俺和感冒君不得不说的那些事

    深受帝都雾霾其害,vivi最近重度感冒,身体影响脑容量不足,思路锈钝影响了发文进度,对此vivi深感抱歉。 都说久...

  • 我和白无常那些不得不说的事

    第一次了解到白无常是在姥姥给我讲的民间故事里。姥姥说遇到白无常是件很幸运的事,因为白无常的帽子上写着一见发财,谁要...

网友评论

    本文标题:隐私和:visited不得不说的那些事

    本文链接:https://www.haomeiwen.com/subject/gqhlmttx.html