Page 1 of 1

Visted links don't change colour until mouseover

Posted: Sat Aug 11, 2012 2:30 pm
by Scripty
I'm having a problem where visted links don't change colour until mouseover, for example while browsing search results the links that have already been visited (days ago or moments ago before refining the search) aren't coloured as they should be so to see which of the links I've checked I have to run my mouse over all of them. When refining a search this can be very annoying as it's harder to tell a difference in the new search results just by looking at the link colours.

I've had this problem for quite a while now, was using Firefox v9 and updated to v14 hoping this problem would go away but it hasn't. It's gotten so annoying I eventually disabled each extension one by one until I found which was causing it, NoScript. Then I disabled all extensions except for NoScript and it keeps on doing it so I doubt it's a problem or interference from another extension.

I'm not sure if a setting I've changed started this, the only thing I can ever remember changing related to this is the visited link colour. Does anyone know how to reset those colours/settings to default incase that helps.

Presuming it isn't related to changing the link colour does anyone have any ideas how to get the visited link colour working again without dumping NoScript so I don't have to mouseover links to see if they've been visited.

Thanks.

Re: Visted links don't change colour until mouseover

Posted: Sat Aug 11, 2012 5:09 pm
by Giorgio Maone
Scripty wrote:for example while browsing search results
This should happen only for Google search results, because NoScript makes the link you follow different than the link which is initially displayed in the page, in order to remove the internal redirect which Google uses to track your clicks.
If you want your visited color back immediately and you don't mind tracking, you can just set the noscript.surrogate.glinks.sources about:config preference to an empty string.

Re: Visted links don't change colour until mouseover

Posted: Sat Aug 11, 2012 5:30 pm
by Scripty
Thanks for the reply, though I'm not entirely sure I follow why a mouseover is required to suddenly change the links colour to visited. Is it changing the link URL on mouseover? If that's the case it should be easy enough to fix without requiring a mouseover.

I tried editing noscript.surrogate.glinks.sources in about:config to null and it makes the problem worse here. The result is basically the same as before except now even a mouseover doesn't change the links colour to visited.

eg, I ran a search, opened a link in a new tab, refreshed/re-ran the search and nothing other than clicking the link again causes it's colour to change to visited. After resetting noscript.surrogate.glinks.sources it returns to the mouseover situation I before.

Re: Visted links don't change colour until mouseover

Posted: Sat Aug 11, 2012 5:39 pm
by Giorgio Maone
Have you got google.com scripts blocked?

Re: Visted links don't change colour until mouseover

Posted: Sat Aug 11, 2012 5:52 pm
by Scripty
Yup, and it looks like allowing them resolves this with either setting of noscript.surrogate.glinks.sources

Well if I have to choose between not allowing scripts on google and visited link colours I'll have to give up on the links as I can't stand google once it's scripts are allowed, especially not it's image search or email.

Thanks again.

If at some point we could have visited link colours working without scripts allowed on google that would be nice, because personally I'd sooner use Bing and Outlook before using Google with scripts, could just be me though.

Re: Visted links don't change colour until mouseover

Posted: Mon Aug 13, 2012 9:25 pm
by mjh563
Scripty, you could rewrite the noscript.surrogate.glinks.replacement surrogate to fixup all the links as soon as the page loads. For example, try changing it to this:

Code: Select all

var l=document.links;for(var i=0;i<l.length;i++){var a=l[i];do{if(a.href&&!a._href){a._href=a.href=a.href.replace(/.*\/url.*[?&](?:url|q)=(http[^&]+).*/,function(a,b)decodeURIComponent(b));if(/\brwt\(/.test(a.getAttribute('onmousedown')))a.removeAttribute('onmousedown')}}while(a=a.parentNode)}

Re: Visted links don't change colour until mouseover

Posted: Wed Mar 27, 2013 11:58 am
by islisis
Still no patch for this? If the visual behaviour only could be fixed it would improve usability quite a bit.