Ich habe die Favicon-Seite auf Wikipedia gelesen. Sie erwähnen die HTML 5-Spezifikation für Favicon:
In der aktuellen HTML5-Spezifikation wird empfohlen, Größensymbole in mehreren Größen mithilfe der Attribute rel = "icon" size = "durch Leerzeichen getrennte Liste der Symbolabmessungen" innerhalb eines Tags anzugeben. [ Quelle ] Mehrere Symbolformate, einschließlich Containerformate wie Microsoft .ico- und Macintosh .icns-Dateien sowie skalierbare Vektorgrafiken, können bereitgestellt werden, indem der Inhaltstyp des Symbols in Form von type = "file content-type" in das Feld eingefügt wird Etikett.
Mit Blick auf den zitierten Artikel (W3) zeigen sie dieses Beispiel:
<link rel=icon href=favicon.png sizes="16x16" type="image/png">
<link rel=icon href=windows.ico sizes="32x32 48x48" type="image/vnd.microsoft.icon">
<link rel=icon href=mac.icns sizes="128x128 512x512 8192x8192 32768x32768">
<link rel=icon href=iphone.png sizes="57x57" type="image/png">
<link rel=icon href=gnome.svg sizes="any" type="image/svg+xml">
Meine Frage ist, ob Browser die HTML 5-Methode unterstützen.
Hinweis: Ich weiß, dass Apple die apple-touch-icon
Meta-Tag-Methode gegenüber der HTML5-Methode verwendet.
Der Wikipedia-Artikel behauptet:
Der Google Chrome-Webbrowser wählt jedoch die am besten passende Größe aus den in den HTML-Headern angegebenen Größen aus, um Anwendungssymbole mit 128 × 128 Pixel zu erstellen, wenn der Benutzer im Menü "Extras" die Option "Verknüpfungen zum Erstellen von Anwendungen ..." auswählt.
Wie gehen Internet Explorer (v9 bis v11) und Firefox damit um? Und stimmt der Artikel darin, wie Chrome mit den HTML-Favicons umgeht? (Es gibt keine Quelle für Chrome, die dies bestätigt.)
Bei der Suche konnte ich keine anderen (glaubwürdigen) Informationen zu HTML 5 Favicon als den Wikipedia-Artikel finden.
Antworten:
Die Antworten (zum Zeitpunkt dieses Beitrags) sind nur Linkantworten, daher dachte ich, ich würde die Links zu einer Antwort zusammenfassen und was ich verwenden werde.
Bei der Erstellung von Cross-Browser-Favoriten (einschließlich Touch-Symbolen) sind verschiedene Punkte zu beachten.
Der erste ist (natürlich) der Internet Explorer. IE unterstützt PNG-Favicons erst ab Version 11. Unsere erste Zeile ist also ein bedingter Kommentar für Favicons in IE 9 und darunter:
Um die Verwendung des Symbols abzudecken, erstellen Sie es mit 32 x 32 Pixel. Beachten Sie, dass der
rel="shortcut icon"
IE, um das Symbol zu erkennen, das Wort benötigt, dasshortcut
nicht Standard ist. Außerdem verpacken wir das.ico
Favicon in einen IE-bedingten Kommentar, da Chrome und Safari die.ico
Datei verwenden, wenn sie vorhanden ist, obwohl andere Optionen verfügbar sind, nicht das, was wir möchten.Das Obige deckt IE bis IE 9 ab. IE 11 akzeptiert PNG-Favicons, IE 10 jedoch nicht. Auch IE 10 liest keine bedingten Kommentare, so dass IE 10 kein Favicon anzeigt. Da IE 11 und Edge verfügbar sind, wird IE 10 nicht häufig verwendet, daher ignoriere ich diesen Browser.
Für den Rest der Browser verwenden wir die Standardmethode, um ein Favicon zu zitieren:
Dieses Symbol sollte 196 x 196 Pixel groß sein, um alle Geräte abzudecken, die dieses Symbol verwenden können.
Um Berührungssymbole auf Mobilgeräten abzudecken, verwenden wir Apples proprietäre Methode, um ein Berührungssymbol zu zitieren:
Bei Verwendung
rel="apple-touch-icon-precomposed"
wird der reflektierende Glanz nicht angewendet, wenn unter iOS Lesezeichen gesetzt werden. Damit iOS den Glanz anwendet, verwenden Sierel="apple-touch-icon"
. Dieses Symbol sollte eine Größe von 180 x 180 Pixel haben, da dies die aktuelle Größe ist, die Apple für die neuesten iPhones und iPads empfiehlt. Ich habe gelesen, Blackberry wird auch verwendenrel="apple-touch-icon-precomposed"
.Als Hinweis: Chrome für Android gibt Folgendes an:
Benutzerdefinierte Kacheln für IE 11+ unter Windows 8.1+
IE 11+ unter Windows 8.1+ bietet eine Möglichkeit, angeheftete Kacheln für Ihre Site zu erstellen.
Microsoft empfiehlt, einige Kacheln in der folgenden Größe zu erstellen:
Dies sollten transparente Bilder sein, da wir als nächstes einen farbigen Hintergrund definieren werden.
Sobald diese Bilder erstellt wurden, sollten Sie eine XML-Datei
browserconfig.xml
mit dem folgenden Code erstellen:Speichern Sie diese XML-Datei im Stammverzeichnis Ihrer Site. Wenn eine Site angeheftet ist, sucht der IE nach dieser Datei. Wenn Sie der XML-Datei einen anderen Namen geben oder sie an einem anderen Speicherort haben möchten, fügen Sie dieses Meta-Tag hinzu zu
head
:Weitere Informationen zu benutzerdefinierten Kacheln für IE 11+ und zur Verwendung der XML-Datei finden Sie auf der Microsoft-Website .
Alles zusammen:
Um alles zusammenzusetzen, würde der obige Code folgendermaßen aussehen:
Windows Phone Live-Kacheln
Wenn ein Benutzer ein Windows Phone verwendet, kann er eine Website an den Startbildschirm seines Telefons anheften. Leider wird dabei ein Screenshot Ihres Telefons angezeigt, kein Favicon (nicht einmal der oben angegebene MS-spezifische Code). Um eine "Live-Kachel" für Windows Phone-Benutzer für Ihre Website zu erstellen, muss der folgende Code verwendet werden:
Hier finden Sie detaillierte Anweisungen von Microsoft, aber hier eine Zusammenfassung:
Schritt 1
Erstellen Sie ein quadratisches Bild für Ihre Website, um hochauflösende Bildschirme zu unterstützen. Erstellen Sie es mit einer Größe von 768 x 768 Pixel.
Schritt 2
Fügen Sie eine versteckte Überlagerung dieses Bildes hinzu. Hier ist ein Beispielcode von Microsoft:
Schritt 3
Sie können dann die folgende Zeile hinzufügen, um einen Pin zum Starten des Links hinzuzufügen:
Microsoft empfiehlt, dass Sie Windows Phone erkennen und diesen Link nur diesen Benutzern anzeigen, da er für andere Benutzer nicht funktioniert.
Schritt 4
Als Nächstes fügen Sie JS hinzu, um die Overlay-Sichtbarkeit umzuschalten
Hinweis zu Größen
Ich verwende eine Größe, da jeder Browser das Bild nach Bedarf verkleinert. Ich könnte mehr HTML hinzufügen, um bei Bedarf mehrere Größen für Benutzer mit geringerer Bandbreite anzugeben, aber ich komprimiere die PNG-Dateien bereits stark mit TinyPNG und finde dies für meine Zwecke unnötig. Auch nach philippe_b ‚s Antwort Chrome und Firefox haben Fehler , die den Browser laden alle Größen von Symbolen führen. Aus diesem Grund ist die Verwendung eines großen Symbols möglicherweise besser als die Verwendung mehrerer kleinerer Symbole.
Weiterführende Literatur
Für diejenigen, die weitere Details wünschen, siehe die folgenden Links:
quelle
Nein, nicht alle Browser unterstützen das
sizes
Attribut:Beachten Sie, dass einige Plattformen bestimmte Größen definieren:
manifest.json
wenn es vorhanden ist. Außerdem verwendet Chrome das Apple Touch-Symbol für Lesezeichen .quelle
...yet it favors the Apple Touch icon if it finds it.
Ich bin mir nicht sicher, ob dies mehr stimmt, zumindest nicht in der Zukunft. Von der Chrome-Website:The apple-touch-* are deprecated, and will be supported only for a short time. (Written as of beta for m31 of Chrome).