我试图为访问过的链接添加一些效果,然后我遇到了这个问题。
以下是代码:http://dabblet.com/gist/5447894
只有Opera可以成功更改:before
伪元素的内容。所有其他浏览器都失败了。我错过了什么吗?感谢
答案 0 :(得分:11)
访问过的链接的允许(=未忽略)CSS属性为color
,background-color
,border-*-color
,outline-color
和column-rule-color
(更多信息)的情况下)。
这是为了防止历史窃取攻击。有关详细信息,请参阅this article。
因此,从技术上讲,您可以为:before
链接设置:visited
伪类,但它将被忽略并显示为好像未访问链接。这不是错误,它是一个功能;)
答案 1 :(得分:2)
出于隐私原因,在现代浏览器中设置:visited
链接的样式的可能性非常有限 - 因此您无法通过使用javascript检查计算出的样式来检测用户之前访问过的网站。
:visited
链接样式的允许属性为
color
background-color
border-color
(及其子属性)outline-color
即便如此,您也无法通过javascript获取已访问链接的计算样式的值。
您可以详细了解here。