Changement de site de favicon dynamiquement
J'ai une application web qui marque en fonction de l'utilisateur qui est actuellement connecté. J'aimerais changer le favicon de la page et le logo de la marque privée, mais je suis incapable de trouver un code ou des exemples de la façon de faire. Personne n'a réussi à faire cela avant?
Je imaginant avoir une douzaine d'icônes dans un dossier, et la référence à laquelle favicon.ico fichier à utiliser est qui vient d'être généré dynamiquement avec la page HTML. Pensées?
Il y a un jeu d'arcade dans un favicon.
Notez que google Chrome, favicon dynamique de la mise en œuvre est buggé et utilise trop de ressources PROCESSEUR. Voir code.google.com/p/chromium/issues/detail?id=121333
Le lien pour le jeu d'arcade changé. Ceci est la bonne.
Voir stackoverflow.com/questions/6296574/... sur la façon de mettre à jour dynamiquement le favicon par le dessin sur le dessus d'un modèle de l'image avec la toile.
Petit bug dans l'exemple de code fourni dans la accepté de répondre. Je n'ai pas suffisamment de score de réputation de commenter les réponses, d'où l'écriture ici. La dernière ligne a les parenthèses intervertis: }()); devrait lire })(); Il serait bien que l'exemple de code devient mis à jour depuis il est plus que probable copiés par d'autres.
Notez que google Chrome, favicon dynamique de la mise en œuvre est buggé et utilise trop de ressources PROCESSEUR. Voir code.google.com/p/chromium/issues/detail?id=121333
Le lien pour le jeu d'arcade changé. Ceci est la bonne.
Voir stackoverflow.com/questions/6296574/... sur la façon de mettre à jour dynamiquement le favicon par le dessin sur le dessus d'un modèle de l'image avec la toile.
Petit bug dans l'exemple de code fourni dans la accepté de répondre. Je n'ai pas suffisamment de score de réputation de commenter les réponses, d'où l'écriture ici. La dernière ligne a les parenthèses intervertis: }()); devrait lire })(); Il serait bien que l'exemple de code devient mis à jour depuis il est plus que probable copiés par d'autres.
OriginalL'auteur SqlRyan | 2008-11-04
Vous devez vous connecter pour publier un commentaire.
Pourquoi pas?
Firefox doit être cool avec elle.
édité pour bien écraser les icônes existantes
Depuis cela ne fonctionne pas sous IE, de toute façon, vous pouvez supprimer
shortcut
de larel
attribut.shortcut
est pas valide IE-propriétaire de relation de lien!Vous pourriez tout aussi bien regarder un favicon lien et le mettre à jour ou de le remplacer.
Google peut vous donner un site favicon en utilisant cette url, en remplacement de stackoverflow.com avec le domaine que vous voulez: s2.googleusercontent.com/s2/favicons?domain=stackoverflow.com
Devrait entrer cela dans la console Javascript de Chrome de travail? Je n'arrive pas à changer l'icone sur les différents sites de cette façon.
OriginalL'auteur keparo
Voici un code qui fonctionne dans Firefox, Opera et Chrome (à la différence de tous les autres répondre à posté ici). Voici un autre démo de code qui fonctionne dans IE11 trop. L'exemple suivant peut ne pas fonctionner dans Safari ou Internet Explorer.
Vous pouvez alors l'utiliser comme suit:
Fourche loin ou voir une démo.
Le Chrome bug peut avoir été fixé, mais il est brisé à nouveau dans 14.0.835.187.
Le démo ne fonctionne pas pour moi avec Chrome 21/WinXP.
La démo ne fonctionne pas pour moi en Chrome 26/Win7.
document.head || document.head = document.getElementsByTagName('head')[0];
Uncaught ReferenceError: Invalid left-hand side in assignment
Cela fonctionne dans tous les navigateurs (IE 11, Edge, FF et Chrome) impossible de tester avec safari
OriginalL'auteur Mathias Bynens
Si vous avez le code HTML suivant:
Vous pouvez modifier le favicon à l'aide de Javascript en changeant le HREF de l'élément sur ce lien, par exemple (en supposant que vous êtes à l'aide de JQuery):
Vous pouvez également créer un élément Canvas et définir le HREF, comme un ToDataURL() de la toile, un peu comme le Favicon Défenseur.
Je pense au moment où le JS s'exécute, le navigateur aura déjà vu le lien et essayé de charger
favicon.png
. Cette opération peut être fait côté serveur.OriginalL'auteur fserb
la Version jQuery:
ou encore mieux:
Vanille JS version:
Une combinaison de cela et keparo la réponse ci-dessus (la réponse choisie) ai eu de travail dans les deux ff et chrome pour moi.
OriginalL'auteur vorillaz
Une approche plus moderne:
Vous pouvez alors l'utiliser comme ceci:
OriginalL'auteur Michał Perłakowski
Le favicon est déclaré dans la balise head avec quelque chose comme:
Vous devriez être en mesure de simplement passer le nom de l'icône que vous voulez dans la vue de données et de le jeter dans la balise head.
(J'ai trouvé que j'avais de meilleurs résultats un peu d'avoir le fichier d'icône dans le bon endroit, plutôt que le lien explicite).
OriginalL'auteur Jeff Sheldon
Voici un code que j'utilise pour ajouter favicon dynamique de soutien à l'Opéra, Firefox et Chrome. Je ne pouvais pas obtenir IE ou Safari de travail. Fondamentalement, google Chrome permet aux dynamiques icônes, mais il ne se met à jour lorsque la place de la page (ou un
iframe
etc) des changements aussi loin que je peux dire:Pour changer les icônes, il suffit d'aller
favicon.change("ICON URL")
à l'aide de la ci-dessus.(crédits de http://softwareas.com/dynamic-favicons pour le code je me suis basé sur ce.)
Chrome a encore le même bug, mais dans des circonstances légèrement différentes que le bug constaté. code.google.com/p/chromium/issues/detail?id=99549
OriginalL'auteur cryo
Je voudrais utiliser de Greg approche et de faire un gestionnaire personnalisé pour favicon.ico
Voici un (simplifié) gestionnaire qui fonctionne:
Alors vous pouvez utiliser ce gestionnaire dans la section httpHandlers du web config dans IIS6 ou utiliser la " Mappages de gestionnaires fonctionnalité dans IIS7.
Parce qu'on dirait que c'est dynamique sur le côté serveur. L'OP a été demandé pour le dynamisme du côté du client.
OriginalL'auteur Dan
La seule façon de faire ce travail pour IE est de configurer votre serveur web pour traiter les demandes d' *.ico pour appeler votre langage de script côté serveur (PHP, .NET, etc). Aussi le programme d'installation *.ico pour rediriger vers un seul script et ce script fournir le bon fichier favicon. Je suis sûr qu'il y est encore quelques questions intéressantes avec cache si vous voulez être en mesure de rebondir et-vient dans le même navigateur entre les différentes icônes.
OriginalL'auteur Greg
Selon Wikipédia, vous pouvez spécifier le fichier favicon à charge à l'aide de la
link
balise dans lehead
section, avec un paramètre de.
Par exemple:
J'imagine que si vous voulais écrire un contenu dynamique pour cet appel, vous avez accès aux cookies de sorte que vous pouvez récupérer vos informations de session de cette façon et présenter un contenu approprié.
Vous risquez de tomber sous le coup de formats de fichier (c'est à dire aurait seulement le prend en charge .ICO format, alors que la plupart des tout le monde prend en charge le format PNG et GIF) et, éventuellement, la mise en cache des enjeux, à la fois sur le navigateur et via des proxys. Ce serait à cause de l'original itention de favicon, plus précisément, pour marquer d'un signet avec un site de mini-logo.
Le web change beaucoup de choses en 9 ans.
OriginalL'auteur staticsan
Oui tout à fait possible
voir la réponse au lien ci-dessous)
le bon fichier image (qui pourrait être statique règles de routage, ou
dynamique code côté serveur).
par exemple
Puis quel que soit le côté de serveur langage /framework vous utilisez devriez être facilement en mesure de trouver la fichier basé sur le nom d'utilisateur et la servir dans réponse à cette demande.
Mais pour faire favicons correctement (sa en fait vraiment sujet complexe) veuillez voir la réponse ici https://stackoverflow.com/a/45301651/661584
Beaucoup beaucoup plus facile de travailler sur tous les détails vous-même.
Profiter.
<link>
, mais au lieu de le regarder pour laapple-touch-icon
, ou quelque autre variante.OriginalL'auteur MemeDeveloper
Il existe une unique solution en ligne pour ceux qui utilisent jQuery:
OriginalL'auteur Pepelegal
Ou si vous voulez une émoticône 🙂
Accessoires pour https://koddsson.com/posts/emoji-favicon/
OriginalL'auteur max4ever
- Je utiliser favico.js dans mes projets.
Qui permet de changer le favicon pour une gamme de formes prédéfinies et aussi personnalisés.
En interne, il utilise
canvas
pour le rendu etbase64
données de l'URL de l'icône de l'encodage.La bibliothèque dispose également de fonctionnalités intéressantes: l'icône des badges et des animations; soi-disant, vous pouvez même diffuser de la vidéo de la webcam dans l'icône 🙂
Merci @DimaTisnek. Ive updpated ma réponse.
OriginalL'auteur Oscar Nevarez