返回首頁 

Google Logo Restorer

Restores the previous Google logo and favicon

< Commentaires sur Google Logo Restorer

Question / commentaire

Nice implementation

The goals were set to be an All-In-One script for rolling back the detestable new logo wherever it lays.

Nice implementation. While Google kept their logos on-line, it is indeed wiser to use base64.
'Main' logo:
https://www.google.com/images/srpr/logo9w.png
Last favicon:
http://www.google.com/images/google_favicon_128.png

Haven't QAed your script, but as in mine, you should deal with no short-cut icon case (when looking on a picture in image search for example).

KnowbodyAuteur
Posté le: 15/09/2015
Édité le: 15/09/2015

I'm not sure what the "no short-cut icon case" is. I tried it with google image searches and it seemed to work for me.

I created a new nav_logo image in photoshop using this one as a template:http://www.google.com/images/nav_logo231.pngAnd then resizing/placing the good logo in exactly the same places as the new flat ones, so that it's a direct replacement and I don't have to #### around with resizing/shifting it in the userscript.

If I use this one:http://www.google.com/images/nav_logo117.pngthe main logo on the search page doesn't line up exactly.

I also resized the logo on the main page to be exactly the same size as the new one too.

And I converted them to base64 using this: http://www.base64-image.de/step-1.php

KnowbodyAuteur
Posté le: 16/09/2015
Édité le: 16/09/2015

OK, I think I know what you mean with the "no short-cut icon case"On certain pages where the header doesn't include the favicon (it's being loaded another way), it isn't finding anything to change.So here is some new code that adds a favicon to the header if it doesn't already have one:

var favIconNotReplaced = true;var headLinks = document.head.getElementsByTagName('link');for (var i in headLinks) {if (headLinks[i].rel == 'shortcut icon') {headLinks[i].href = favIconBlueCapitalG;favIconNotReplaced = false;break;}}if (favIconNotReplaced) {var favIcon = document.createElement('link');favIcon.setAttribute('rel', 'shortcut icon');favIcon.setAttribute('href', favIconBlueCapitalG);document.head.insertBefore(favIcon, document.head.firstChild);}

The only issue with this is that the favicon isn't immediately replaced, and so the ugly one can be seen briefly before it gets replaced.

I'd like to know what other method is actually being used to load the favicon though.

Posté le: 16/09/2015
Édité le: 16/09/2015

The fall-back for no favicon declared in the head is looking for it on the base path.

That meaning taking it from here:
http://www.google.com/favicon.ico

This is browser work in the background, as a feature though not declared in HTML assumed to be better.

KnowbodyAuteur
Posté le: 16/09/2015
Édité le: 16/09/2015

Looks like the only way to change that would be to redirect the HTTP request to http://www.google.com/favicon.ico.

I doubt that could be done in a userscript.

Poster une réponse

Connectez-vous pour poster une réponse.