2020'de Katil Çözümü
Bu çözüm, sorunun asıl sorulmasından dokuz yıl sonra gelmelidir, çünkü oldukça yakın zamana kadar çoğu tarayıcı, faviconsları .svg
formatta işleyememiştir .
Artık durum böyle değil.
Bkz. Https://caniuse.com/#feat=link-icon-svg
1) Favicon formatı olarak SVG'yi seçin
Şu anda, Haziran 2020'de, bu tarayıcılar SVG Favicons'u işleyebilir :
- Krom
- Firefox
- kenar
- Opera
- Android için Chrome
- KaiOS Tarayıcı
Not olduğunu bu tarayıcılar hala olamaz:
- Safari
- iOS Safari
- Android için Firefox
Yukarıdakileri akılda tutarak, bir SVG Favicon'u güvenle kullanabiliriz .
2) SVG'yi Veri URI'si olarak sunma
Buradaki temel amaç HTTP İsteklerinden kaçınmaktır.
Diğer çözümlerin de belirttiği gibi, bunu yapmanın oldukça akıllı bir yolu bir HTTP URL'si yerine bir Veri URI'si kullanmaktır .
SVG'ler (özellikle küçük SVG'ler) kendilerini Veri URI'lerine mükemmel bir şekilde ödünç verir , çünkü ikincisi sadece düz metindir (potansiyel olarak belirsiz karakterler yüzde kodlamalı) ve ilki XML olan uzun bir düz metin satırı olarak (bir saçılma ile) yazılabilir yüzde kodları) inanılmaz derecede basit.
3) Tüm SVG bir Emoji'dir
Aralık 2019'da Leandro Linares, Chrome'un SVG Favicons'u desteklemek için Firefox'a katıldığından beri, bir emojiden bir favicon yaratıp yaratılamayacağını görmek için denemeye değer:
https://lean8086.com/articles/using-an-emoji-as-favicon-with-svg/
Linares'ın önsezi haklıydı.
Birkaç ay sonra (Mart 2020), Kod Korsan Lea Verou da aynı şeyi fark etti:
https://twitter.com/leaverou/status/1241619866475474946
Ve favicons bir daha asla aynı değildi.
4) Çözümü kendiniz uygulamak:
İşte basit bir 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>
Ve burada Veri URI'sı ile aynı SVG :
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
Ve son olarak, burada bir Favicon olarak Veri URI'si :
<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) Daha hileler
Favicon bir SVG olduğundan, ona herhangi bir sayıda filtre efekti (SVG ve CSS) uygulanabilir.
Örneğin, yukarıdaki Beyaz Unicorn Favicon ile birlikte , filtreyi uygulayarak kolayca bir Black Unicorn Favicon yapabiliriz :
style="filter: invert(100%);"
Siyah Tek Boynuzlu 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" />