【发布时间】:2013-04-17 07:42:40
【问题描述】:
我试图为访问的链接添加一些效果,然后我遇到了这个问题。
这里是代码:http://dabblet.com/gist/5447894
只有 Opera 可以成功改变:before 伪元素的内容。所有其他浏览器都失败。我错过了什么吗?谢谢
【问题讨论】:
标签: css pseudo-element css-content
我试图为访问的链接添加一些效果,然后我遇到了这个问题。
这里是代码:http://dabblet.com/gist/5447894
只有 Opera 可以成功改变:before 伪元素的内容。所有其他浏览器都失败。我错过了什么吗?谢谢
【问题讨论】:
标签: css pseudo-element css-content
已访问链接的允许(= 不忽略)CSS 属性为 color、background-color、border-*-color、outline-color 和 column-rule-color(在某些情况下更多)。
这是为了防止历史窃取攻击。详情请见this article。
因此,从技术上讲,您可以为:visited 链接设置一个:before 伪类,但它会被忽略并看起来好像链接没有被访问过。这不是一个错误,而是一个特性;)
【讨论】:
出于隐私原因,在现代浏览器中对:visited 链接进行样式设置的可能性范围非常有限,因此您无法通过使用 javascript 检查计算的样式来检测用户之前访问过哪些网站。
:visited 链接的样式允许的属性是
colorbackground-colorborder-color(及其子属性)outline-color即便如此,您也无法通过 javascript 获取已访问链接的计算样式值。
您可以阅读更多关于它的信息here。
【讨论】: