I was trying to add some effects for visited links, then I got this problem.
Here is the code: http://dabblet.com/gist/5447894
Only Opera can successfully change the content of :before
pseudo-elements. All other browsers are fail. Did I miss anything? Thanks
The allowed (= not ignored) CSS properties of visited links are
color
,background-color
,border-*-color
,outline-color
and,column-rule-color
(more under certain circumstances).This is to prevent history stealing attacks. See this article for further details.
So you can, technically, set a
:before
pseudo class for:visited
links, but it will be ignored and appears as if the links are not visited. This is not a bug, it's a feature ;)There is a very limited range of possibilities for styling
:visited
links in modern browsers for privacy reasons – so that you couldn't detect which sites the user has visited before by checking the computed style with javascript.The allowed properties for styling for
:visited
links iscolor
background-color
border-color
(and its sub-properties)outline-color
Even so, you cannot get the values of the computed style for visited links via javascript.
You can read more about it here.