Killerlösung im Jahr 2020
Diese Lösung kommt notwendigerweise neun Jahre, nachdem die Frage ursprünglich gestellt wurde, da die meisten Browser bis vor kurzem nicht in der Lage waren, Favoriten im .svg
Format zu verarbeiten.
Das ist nicht mehr der Fall.
Siehe: https://caniuse.com/#feat=link-icon-svg
1) Wählen Sie SVG als Favicon-Format
Derzeit , im Juni 2020, können diese Browser SVG-Favicons verarbeiten :
- Chrom
- Feuerfuchs
- Kante
- Oper
- Chrome für Android
- KaiOS Browser
Beachten Sie, dass diese Browser immer noch nicht:
- Safari
- iOS Safari
- Firefox für Android
Vor diesem Hintergrund können wir ein SVG-Favicon sicher verwenden .
2) Präsentieren Sie die SVG als Daten-URI
Das Hauptziel hierbei ist die Vermeidung von HTTP-Anfragen.
Wie andere Lösungen bereits erwähnt haben, besteht eine ziemlich clevere Möglichkeit darin, einen Daten-URI anstelle einer HTTP-URL zu verwenden .
SVGs (insbesondere kleine SVGs) eignen sich perfekt für Daten-URIs, da letztere einfach Klartext sind (mit potenziell mehrdeutigen Zeichen prozentual codiert) und erstere als XML als lange Klartextzeile (mit einem Hauch von etwas) ausgeschrieben werden können von Prozentcodes) unglaublich einfach.
3) Die gesamte SVG ist ein Emoji
Im Dezember 2019 erkannte Leandro Linares als einer der Ersten, dass es sich lohnt, zu experimentieren, um herauszufinden, ob ein Favicon aus einem Emoji erstellt werden kann, seit Chrome zusammen mit Firefox SVG Favicons unterstützt.
https://lean8086.com/articles/using-an-emoji-as-favicon-with-svg/
Linares Vermutung war richtig.
Einige Monate später (März 2020) erkannte Code Pirate Lea Verou dasselbe:
https://twitter.com/leaverou/status/1241619866475474946
Und Favicons waren nie wieder die gleichen.
4) Implementieren Sie die Lösung selbst:
Hier ist eine einfache SVG:
<svg
xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink"
viewBox="0 0 16 16">
<text x="0" y="14">🦄</text>
</svg>
Und hier ist das gleiche SVG wie ein Daten-URI :
data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20xmlns:xlink='http://www.w3.org/1999/xlink'%20viewBox='0%200%2016%2016'%3E%3Ctext%20x='0'%20y='14'%3E🦄%3C/text%3E%3C/svg%3E
Und zum Schluss noch die Daten-URI als Favicon:
<link rel="icon" href="data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20xmlns:xlink='http://www.w3.org/1999/xlink'%20viewBox='0%200%2016%2016'%3E%3Ctext%20x='0'%20y='14'%3E🦄%3C/text%3E%3C/svg%3E" type="image/svg+xml" />
5) Weitere Tricks
Da das Favicon ein SVG ist, können beliebig viele Filtereffekte (sowohl SVG als auch CSS) darauf angewendet werden.
Zum Beispiel können wir neben dem obigen White Unicorn Favicon ganz einfach ein Black Unicorn Favicon erstellen, indem wir den Filter anwenden:
style="filter: invert(100%);"
Schwarzes Einhorn Favicon:
<link rel="icon" href="data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20xmlns:xlink='http://www.w3.org/1999/xlink'%20viewBox='0%200%2016%2016'%3E%3Ctext%20x='0'%20y='14'%20style='filter:%20invert(100%);'%3E🦄%3C/text%3E%3C/svg%3E" type="image/svg+xml" />