Favicon ne travaille pas sur le bord

j'ai un problème avec ce favicon que j'ai généré pour un projet php de serveur local. Il fonctionne très bien sur la plupart des navigateurs (Google Chrome, Mozilla Firefox et Opera), mais sur Microsoft Edge il ne fonctionne pas (il affiche l'onglet par défaut favicon).

j'ai essayé de nombreuses solutions à ce problème comme nettoyer le cache, en utilisant le format image (.png) au lieu de l'icône (.ico), mais rien ne semblait fonctionner.

Voici les lignes de code que J'ai incluses dans le HTML tête:

<link rel="icon" href="<?php echo Yii::$app->request->baseUrl; ?>/favicon.ico" type="image/x-icon" />
<link rel="shortcut icon" href="<?php echo Yii::$app->request->baseUrl; ?>/favicon.ico" type="image/x-icon" />

quelqu'un a le même problème et l'a résolu?

34
demandé sur Web_Designer 2015-10-12 16:08:06

11 réponses

pour moi le problème était que sur localhost il n'a jamais fonctionné dans Edge. Peu importe ce que j'ai fait. C'était toujours bien dans le Chrome et le Firefox. La solution était qu'il ne fonctionnait à Edge qu'après mon déploiement sur le webserver.

49
répondu Yster 2015-12-02 15:53:38

J'ai eu le même problème avec Edge. J'ai essayé beaucoup de solutions, mais seulement le déplacement de l'icône du local au serveur web a été couronnée de succès. Si votre serveur est local (localhost), essayez de déplacer le fichier icon vers un serveur global.

<link rel="shortcut icon" href="http://example.com/favicon.ico" type="image/x-icon" />
6
répondu Valentin Safonnikov 2017-04-17 07:48:27

il y a 2 problèmes dans Edge. Les deux sont évités lors du déploiement sur un serveur web (c'est pourquoi il a commencé à fonctionner dans une autre réponse après le déploiement sur un serveur web). Cependant, vous pouvez le faire fonctionner sur localhost, trop.

1. Headers incomplets retournés depuis le serveur

il semble que pour Edge le serveur web doit retourner L'en-tête Cache-Control pour le favicon.

E. g. cette valeur fonctionne:

Cache-Control: public, max-age=2592000

les serveurs web communs probablement envoyer l'en-tête automatiquement. Cependant, si vous avez une solution personnalisée, vous devez l'implémenter manuellement. Par exemple: en WCF:

WebOperationContext.Current.OutgoingResponse.Headers.Add("Cache-Control", "public, max-age=2592000");

2. Edge ne peut pas accéder à localhost à cause de certains paramètres de sécurité de Windows

par défaut, les applications Windows store ne peuvent pas utiliser l'interface loopback. Cela semble affecter le chargement de favicon, qui est chargé en utilisant un autre moyen que la page Web seule (donc, même si la page Web fonctionne, favicon ne travail.)

pour activer le loopback pour Edge, exécutez ceci dans PowerShell en tant qu'administrateur:

CheckNetIsolation LoopbackExempt -a -n="Microsoft.MicrosoftEdge_8wekyb3d8bbwe"

le redémarrage de bord n'est pas nécessaire - après le rafraîchissement de la page (F5), le favicon doit être chargé.

Pour désactiver le bouclage de nouveau:

CheckNetIsolation LoopbackExempt -d -n="Microsoft.MicrosoftEdge_8wekyb3d8bbwe"

le favicon sera mis en cache dans Edge, donc il sera toujours visible.

Autres informations

si vous utilisez HTTPS, il semble que le certificat doit être valide (de confiance) pour que le favicon montrer.

6
répondu Milan Laslop 2018-06-17 05:37:13

vous devriez changer le nom de votre favicon.fichier ico. Comme " myFavicon.ico".

vous devriez aussi ajouter ? à la fin de votre lien, comme ceci:

<link rel="icon" href="<?php echo Yii::$app->request->baseUrl; ?>/favicon.ico?" type="image/x-icon" />
<link rel="shortcut icon" href="<?php echo Yii::$app->request->baseUrl; ?>/favicon.ico?" type="image/x-icon" />

aussi, Avez-vous rafraîchi le cache avant de le tester? Si pas, réinitialiser le cache, ou vous ne verrez pas vos modifications.

Enfin, il pourrait aussi être votre icône. Essayez d'utiliser un générateur de favicon.

3
répondu David G. 2016-06-29 09:09:45

pour moi, j'ai ajouté id="favicon"

toute la ligne ressemble à

    <link  id="favicon" href="~/favicon.png" rel="shortcut icon" type="image/x-icon"  />
3
répondu Dotnetsqlcoder 2016-10-22 20:13:45

il se peut que votre favicon soit trop grand. Selon la réponse dans le fil dans ce lien si une favicon est 16 x 16 px: https://forum.yola.com/yola/topics/edge-not-displaying-favicon

Dans mon site (loekbergman.nl) de travail et j'ai un 16x16px icône en effet.

2
répondu Loek Bergman 2015-12-01 06:30:09

tout d'abord, essayez la méthode de fixation habituelle: effacer le cache, l'histoire et les cookies.

Si cela ne fonctionne pas, essayez:

<html>    
<head>
<title> Your Title</title>
<link rel="shortcut icon" type="image/x-icon" href="favicon.ico" />
</head>
<body> Your content </body>
</html>

assurez-vous de favicon.ico est dans le le dossier comme votre fichier html.

si cela ne fonctionne toujours pas, cela pourrait être un problème avec MS Edge. Consultez le site web ci-dessous: https://www.wix.com/support/html5/ugc/b4b4a8f2-217d-4e25-aa55-00c19f5d5fc4/1a8ee7cd-3092-42e8-9078-dc528f8bfc87

1
répondu Yubin Lee 2015-11-24 19:59:16

Ajout Cache-Control: public, max-age=14400 à l'en-tête http a fonctionné pour moi. Vérifié avec IE, Edge et Chrome sur Windows 10 en utilisant un ESP8266-12E tournant Arduino comme serveur web sur un réseau local. (Je n'ai pas encore essayé de support spécifique à Apple ou Android). FWIW - Voici la partie du code html de la page racine de mon serveur:

<!DOCTYPE html>
<html>
<head>
<title>Favicon Test</title>
<link rel="shortcut icon" href="/faviconS.ico" type="image/x-icon">
<link id="favicon" rel="icon" href="/favicon.ico" type="image/x-icon">
<link id="favicon-16x16" rel="icon" type="image/png" href="/favicon-16x16.png" sizes="16x16">
<link id="favicon-32x32" rel="icon" type="image/png" href="/favicon-32x32.png" sizes="32x32">
<link id="favicon-96x96" rel="icon" type="image/png" href="/favicon-96x96.png" sizes="96x96">
</head>
<body>
...
</body>
</html>

et voici un extrait de code ESP8266/Arduino pour créer l'en-tête http dans la réponse et envoyer les données de l'icône précédemment stocké sous forme de fichier à L'aide de SPIFFS.

...
f = SPIFFS.open("/favicon.ico", "r");
if (!f) {
  Serial.println("file open failed");
} else {
  Serial.println("favicon.ico open succeeded...");
  client.println("HTTP/1.1 200 OK");
  client.print("Content-Length:");
  client.println(String(f.size()));
  client.println("Content-Type:image/x-icon");
  client.println("Cache-Control: public, max-age=14400");
  client.println();  // blank line indicates end of header
  while (f.available()) {  // send the binary for the icon
    byte b = f.read();
    client.write(b);
  }
f.close();
...
1
répondu Tom S 2018-07-30 18:45:52

Solution de BORD


TL;DR;

hébergez vos images favicon à l'extérieur.


Si vous n'avez pas de favicon déjà, vous pouvez les générer ici ou ici.

j'ai téléchargé mon 32x32 png imgur.com Il fonctionne pendant les essais locaux si l'image favicon/png est hébergée !extérieurement!, comme imgur.com.

Dans le head de la page j'ai mis le favicon comme ceci:

 <link href="https://i.imgur.com/xxxx32x32.png" rel="shortcut icon" type="image/x-icon">

il n'y a pas de convention de nommage, vous pouvez nommer le favicon tout ce que vous voulez xyz.png mais j'imagine que ça doit être 32x32!

j'ai également l'installation d'un hosts entrée pointant vers mon application web dans IIS de la forme:

127.0.0.1   www.your-app.com

Mesures: fermez le navigateur, attendez 30 secondes et réouvrez-le.

Saisissez votre url soit comme: www.your-app.com ou localhost/yourApp ou localhost:xxxx/yourApp.

essayez les deux!

assurez-vous de vider le cache. Appuyez Sur La Touche F5. Vous devez probablement répéter ces étapes, deux ou trois fois.

il faudra un certain temps à Edge pour le saisir.

cela fonctionne dans IIS. Après cela, je l'ai testé avec IIS Express et il fonctionne là aussi. Il n'a pas d'importance. Ce qui importe est, vous devez héberger le favicon extérieurement.

enter image description here Par exemple, IE11 ne montre pas de favicons du tout, quel que soit le site que je visite. Donc, oubliez IE11 ;-)

1
répondu Legends 2018-08-15 15:39:07

c'est Peut-être un echo l'encapsulation problème. Je veux dire que href aurait "request - > baseUrl;" comme valeur

  <?php
      echo '<link rel="icon" href="'.Yii::$app->request->baseUrl.'/favicon.ico" type="image/x-icon" />';
  ?>
0
répondu Valérian Polizzi 2015-12-01 14:43:45

essayez de créer un 512x512 au format PNG. A travaillé pour moi.

-1
répondu Dennis Musselman 2016-04-26 23:41:11