Was ist eine einfache / minimale browserconfig.xml für eine Website?

111

Ich möchte in Bezug auf Windows 8 und das Fixieren nichts Besonderes oder Kniffliges tun. Ich möchte nur nicht die 404 Not Found-Nachrichten sehen, da der IE browserconfig.xmlin meinen Protokolldateien nach einem Bildlauf sucht .

Gibt es eine triviale browserconfig.xmlDatei, die ich in mein Stammverzeichnis einfügen kann, um den Internet Explorer zufrieden zu stellen und als guter Platzhalter zu fungieren, sollte ich mich entscheiden, später eine bessere Unterstützung für Windows 8 hinzuzufügen?

drchuck
quelle

Antworten:

79

Ich habe den Metacode zu meinem Kopf hinzugefügt, erhalte aber auch weiterhin Anfragen von browserconfig.xml.

Also denke ich, der beste Weg ist; gemäß ihnen: http://msdn.microsoft.com/browserconfig.xml

<?xml version="1.0" encoding="utf-8"?>
<browserconfig>
    <msapplication>
    </msapplication>
</browserconfig>
musa
quelle
60

Auf der MSDN-Seite des Microsoft befindet sich ein Beispiel für die Referenz zum Browser-Konfigurationsschema .

Sie legen die browserconfig.xmlDatei im Stammordner des Webservers ab.

Sie können auch Folgendes einschließen:

<meta name="msapplication-config" content="none"/>

in Ihrem HTML, um zu verhindern, dass der IE nach dieser Datei sucht, wenn dies eine Option für Sie ist, die möglicherweise auch funktioniert.

John Bush
quelle
6
Obwohl ich das Meta-Tag auf meiner Seite habe, habe ich sehr selten Anfragen nach browserconfig.xml von Benutzeragenten gesehen, die als IE 11 identifiziert wurden. Der wahrscheinlich einzige Weg, diese 404s loszuwerden, besteht darin, auch eine leere Datei für browserconfig hinzuzufügen. xml. Ich habe versucht, mit der leeren Datei zu pinnen, und habe keinen Unterschied mit oder ohne die leere Datei festgestellt.
Gerd K
4
Dieses Beispiel ist nicht "das einfachste / minimalste"
HorusKol
41

Die einfachste Lösung besteht darin, nur den offiziellen Datei-Builder von Microsoft Browserconfig.xml zu verwenden: http://www.buildmypinnedsite.com

Sie können eine vollständige XML-Datei erstellen und in nur drei Schritten alle Bilder Ihres Logos erhalten. Ich habe es gerade für meine Seite gemacht und es hat nur 2 Minuten gedauert.

Es wird eine vollständige Datei browserconfig.xml generiert und alle Titelbilder in einer einzigen Zip-Datei bereitgestellt.

Edit 08.01.2015: Ich habe gerade eine andere Option gefunden: http://realfavicongenerator.net/

Der Vorteil dieser Website sind die Generatoren Ihrer browserconfig.xml UND all Ihrer Apple-Touch- * Symbole, Favicon usw. Grundsätzlich eine One-Stop-Website, auf der Sie alles einmal generieren können.

Laurence
quelle
3
Dies ist eine gute Lösung, beantwortet das OP jedoch nicht wirklich, da sie nur einen Platzhalter wünschen.
Rob
Oben, perfekt - erledigen Sie Ihre Arbeit sehr gut und vollautomatisch. Anschließend können Sie ein vollständiges Paket mit allen darin enthaltenen Dateien herunterladen. Toll.
Johngrinder
Leider erstellt keine Site eine browserconfig.xml-Datei.
Peter
23

Das Hinzufügen eines metaTags funktioniert möglicherweise nicht. Wir haben dieses Tag hinzugefügt, aber wir haben immer noch 404 Fehler für browserconfig.xmlAnfragen erhalten. Am Ende haben wir uns für eine einfache XML entschieden.

Unser browserconfig.xmlsieht so aus und im Grunde sagt es nur, wo sich 4 Bilder befinden.

<?xml version="1.0" encoding="utf-8"?>
<browserconfig>
    <msapplication>
        <tile>
        <square70x70logo src="/mstile-70x70.png"/>
        <square150x150logo src="/mstile-150x150.png"/>
        <wide310x150logo src="/mstile-310x150.png"/>
        <square310x310logo src="/mstile-310x310.png"/>
        <TileColor>#8bc53f</TileColor>
        <TileImage src="/mstile-150x150.png" />
        </tile>
    </msapplication>
</browserconfig>

Und füge dies in dein HTML ein:

<meta name="msapplication-config" content="/browserconfig.xml" />

Und jetzt ist okay

Tine Koloini
quelle
6

Sie können es auch einfach zu Ihrem HTML-Code hinzufügen und die Konfiguration wie folgt auf "none" setzen:

<meta name="msapplication-TileColor" content=" #009900" />
<meta name="msapplication-square70x70logo" content="images/smalltile.png" />
<meta name="msapplication-square150x150logo" content="images/mediumtile.png" />
<meta name="msapplication-wide310x150logo" content="images/widetile.png" />
<meta name="msapplication-square310x310logo" content="images/largetile.png" />
<meta name="msapplication-config" content="none"/>

Quellen:

http://samples.msdn.microsoft.com/iedevcenter/PinnedSites/scenario1.html https://msdn.microsoft.com/library/dn320426

Totas
quelle
6
Das Hinzufügen all dieser Meta-Tags ist wahrscheinlich die schlechteste Lösung, IMO. Wenn Sie dies tun, senden Sie all diese Daten bei jedem Seitenaufruf an jeden Besucher Ihrer Website . Zwei Vorteile von browserconfig.xml sind: 1. Die einzigen, die etwas bekommen, sind Leute, die einen Browser ausführen, der sich darum kümmert, und 2. der Browser kann die Datei zwischenspeichern und nicht erneut herunterladen.
Tschad
5

Es gibt einen dritten Weg, dies zu verhindern browserconfig.xml Ihre Protokolldateien mit 404-Fehlern gefüllt werden. Sie können einen Nullwert (444) vom Server zurückgeben und die Protokollierung nur für diesen Speicherort deaktivieren. Dies ist relevant, da favicon.ico dasselbe tut, indem es die Meta-Head-Tags und den Browser, der sie aufruft, ignoriert (wobei auch ein 404 generiert wird). Das Problem ist größer als nur diese eine unerwünschte Datei.

Zu Ihrer speziellen Frage, wie Sie 404-Fehler in Ihren Protokollen in browser.xml verhindern können - für NGINX können Sie eine neue Datei in /etc/nginx/snippets/und dann #includediese Datei in Ihrer /etc/nginx/sites-available/example.orgDatei innerhalb des Serverblocks erstellen .

Beispiel: /etc/nginx/snippets/block-known-errors.confhat folgenden Inhalt:

location ~* /(favicon.ico|browserconfig.xml)$
   { access_log off; log_not_found off; return 444; }

Dann würden Sie in Ihrer Konfiguration bei /etc/nginx/sites-available/example.orghinzufügen:

include /etc/nginx/snippets/block-known-errors.conf;

Beachten Sie, dass in der Standortspezifikation in NGINX ein regulärer Ausdruck verwendet wird und die Groß- und Kleinschreibung nicht berücksichtigt wird . Und weil es ein locationist, muss es innerhalb der serverSpezifikation liegen.

In der Praxis verschachteln wir unsere Includes tatsächlich im /etc/nginx/snippets/Ordner und haben ein globales Include und ein anderes Include für bestimmte Sites, abhängig von den Sicherheits- / Technologieanforderungen. Auf diese Weise können unsere Endpunkte ein globales Problem fast sofort beheben, indem sie eine Datei hinzufügen oder eine vorhandene Datei bearbeiten, um unsere Protokolle zu verwalten.

Mit OSSEC und einem ELK-Stack können Sie nur so viel Cruft durchschauen.

Ich bin sicher, dass mod_rewrite in Apache dies auch tun könnte.

Eschipul
quelle
Ich mag diese Lösung sehr, aber ich bin paranoid, wenn es darum geht, die Protokollierung auszuschalten
Caleb,