Qu'est-ce qu'un Browserconfig.xml simple / minimal pour un site Web

111

Je ne veux rien faire de spécial ou de délicat en ce qui concerne Windows 8 et l'épinglage, je ne veux tout simplement pas voir les messages 404 Not Found car IE recherche le browserconfig.xmldéfilement dans mes fichiers journaux.

Y a-t-il un browserconfig.xmlfichier trivial que je peux mettre dans ma racine qui satisfera IE et agira comme un bon espace réservé si je décide d'ajouter plus tard un meilleur support pour Windows 8?

drchuck
la source

Réponses:

79

J'ai ajouté le méta-code dans ma tête, mais je reçois toujours des requêtes browsererconfig.xml.

Je pense donc que le meilleur moyen est; selon eux: http://msdn.microsoft.com/browserconfig.xml

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

Il existe un exemple sur la page MSDN de référence du schéma de configuration du navigateur de Microsoft .

Vous placez le browserconfig.xmlfichier dans le dossier racine du serveur Web.

Vous pouvez également inclure:

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

dans votre HTML pour empêcher IE de rechercher ce fichier, si c'est une option pour vous qui pourrait également fonctionner.

John Bush
la source
6
Bien que j'aie la balise meta sur ma page, j'ai vu très rarement des demandes de browserconfig.xml de la part d'un agent utilisateur identifié comme IE 11. Le seul moyen de se débarrasser de ces 404 est donc d'ajouter également un fichier vide pour browserconfig. xml. J'ai essayé d'épingler en utilisant le fichier vide et je n'ai pas vu de différence avec ou sans le fichier vide.
Gerd K
4
Cet exemple n'est pas "le plus simple / minimal"
HorusKol
41

La solution la plus simple consiste en fait simplement à utiliser le générateur de fichiers officiel Microsoft Browserconfig.xml: http://www.buildmypinnedsite.com

Vous pouvez créer un fichier xml complet et recevoir toutes les images de taille de votre logo en seulement 3 étapes. Je viens de le faire pour mon site et cela n'a pris que 2 minutes.

Il générera un fichier Browserconfig.xml complet et fournira toutes les images intitulées dans un seul fichier zip.

Edit 1/8/2015: Je viens de trouver une autre option: http://realfavicongenerator.net/

L'avantage de ce site Web, ce sont les générateurs de votre navigateurconfig.xml ET toutes vos icônes apple-touch- *, favicon, etc. Fondamentalement, un site Web unique pour tout générer une fois.

Laurence
la source
3
C'est une bonne solution mais ne répond pas vraiment au PO, car ils veulent juste un espace réservé.
Rob
Top, parfait - faire le travail très bien et entièrement automatique, vous pouvez ensuite télécharger un package complet avec tous les fichiers qu'il contient. Génial.
johngrinder
Malheureusement, aucun des deux sites ne crée de fichier Browserconfig.xml.
Peter
23

L'ajout d'une metabalise peut ou non fonctionner. Nous avons ajouté cette balise, mais nous avons tout de même reçu 404 erreurs pour les browserconfig.xmldemandes. À la fin, nous avons décidé de faire un simple xml.

Notre browserconfig.xmlressemble à ceci et, en gros, il indique simplement où se trouvent 4 images.

<?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>

Et mettez ceci dans votre html:

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

Et maintenant ça va

Tine Koloini
la source
6

Vous pouvez également l'ajouter à votre code HTML et définir la configuration sur "aucun" comme ceci:

<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"/>

Sources:

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

totas
la source
6
L'ajout de toutes ces balises meta est probablement la pire solution, IMO. Si vous faites cela, vous envoyez toutes ces données à chaque visiteur de votre site, sur chaque page vue. Les deux avantages de Browserconfig.xml sont: 1. les seuls qui obtiennent quelque chose sont les gens qui utilisent un navigateur qui s'en soucie, et 2. le navigateur peut mettre en cache le fichier et ne pas le télécharger à nouveau.
Tchad
5

Il existe un troisième moyen d'éviter browserconfig.xmlde remplir vos fichiers journaux avec des erreurs 404. Vous pouvez renvoyer une valeur nulle (444) à partir du serveur et désactiver la journalisation pour cet emplacement uniquement. Ceci est pertinent car favicon.ico fait la même chose en ignorant les balises meta head et le navigateur qui l'appelle (générant également un 404). Le problème est plus important que ce seul fichier indésirable.

À votre question spécifique de prévenir les erreurs 404 dans vos journaux sur browser.xml - pour NGINX, vous pouvez créer un nouveau fichier dans /etc/nginx/snippets/puis #includece fichier dans votre /etc/nginx/sites-available/example.orgfichier à l'intérieur du bloc serveur.

Exemple: /etc/nginx/snippets/block-known-errors.confa le contenu suivant:

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

Ensuite, dans votre configuration, /etc/nginx/sites-available/example.orgvous ajouteriez:

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

Remarque dans la spécification d'emplacement dans NGINX utilise une expression régulière et n'est pas sensible à la casse . Et parce que c'est un locationdoit être à l'intérieur de la serverspécification.

En pratique, nous imbriquons nos /etc/nginx/snippets/inclusions dans le dossier et avons une inclusion globale et d'autres inclusions pour des sites spécifiques en fonction des exigences de sécurité / technologie. Cela permet à nos points de terminaison de résoudre un problème global presque immédiatement en ajoutant un fichier ou en modifiant un fichier existant pour gérer nos journaux.

Il n'y a que tellement de cruft que vous pouvez voir avec OSSEC et une pile ELK.

Je suis sûr que mod_rewrite dans Apache pourrait également le faire.

eschipul
la source
J'aime beaucoup cette solution mais je suis paranoïaque à propos de la désactivation de la journalisation
Caleb