Voici un code qui fonctionne dans Firefox, Opera et Chrome (contrairement à toutes les autres réponses postées ici). Voici une autre Démonstration d'un code qui fonctionne dans IE11 aussi. L'exemple suivant peut ne pas fonctionner dans Safari ou Internet Explorer.
/*!
* Dynamically changing favicons with JavaScript
* Works in all A-grade browsers except Safari and Internet Explorer
* Demo: http://mathiasbynens.be/demo/dynamic-favicons
*/
// HTML5™, baby! http://mathiasbynens.be/notes/document-head
document.head = document.head || document.getElementsByTagName('head')[0];
function changeFavicon(src) {
var link = document.createElement('link'),
oldLink = document.getElementById('dynamic-favicon');
link.id = 'dynamic-favicon';
link.rel = 'shortcut icon';
link.href = src;
if (oldLink) {
document.head.removeChild(oldLink);
}
document.head.appendChild(link);
}
Vous l'utiliserez alors comme suit :
var btn = document.getElementsByTagName('button')[0];
btn.onclick = function() {
changeFavicon('http://www.google.com/favicon.ico');
};
Fourchette o voir une démo .
54 votes
Il existe un jeu d'arcade dans un favicon.
0 votes
Notez que la mise en œuvre de la favicon dynamique de Chrome est boguée et utilise trop de CPU. Voir code.google.com/p/chromium/issues/detail?id=121333
15 votes
Le lien pour le jeu d'arcade a changé. Ce site est le bon.
0 votes
Voir stackoverflow.com/questions/6296574/ sur la façon de mettre à jour dynamiquement la favicon en dessinant par-dessus une image modèle avec canvas.
2 votes
Petit bug dans l'exemple de code fourni dans la réponse acceptée. Je n'ai pas un score de réputation suffisant pour commenter les réponses, c'est pourquoi j'écris ici à la place. Les parenthèses de la dernière ligne sont interverties : }()) ; devrait se lire })() ; Il serait bien que l'exemple de code soit mis à jour puisqu'il est très probablement copié et collé par d'autres.
3 votes
@CoreyTrager L'url a changé : p01.org/defender_of_the_favicon