Change the website favicon
The following function changes the favicon to url
:
const setFavicon = function (url) {
const favicon = document.querySelector('link[rel="icon"]');
if (favicon) {
favicon.href = url;
} else {
const link = document.createElement('link');
link.rel = 'icon';
link.href = url;
document.head.appendChild(link);
}
};
When you want to update the favicon dynamically, for example, to user's icon in a social website:
setFavicon('/path/to/user/profile/icon.ico');
Use an emoji as the favicon
Note that the setFavicon()
function above accepts the favicon's URL. We can have some cool thing by passing a custom URL.
In the code below, we create a canvas
element, fill it with a particular emoji and get the custom URL:
const emojiFavicon = function (emoji) {
const canvas = document.createElement('canvas');
canvas.height = 64;
canvas.width = 64;
const context = canvas.getContext('2d');
context.font = '64px serif';
context.fillText(emoji, 0, 64);
const url = canvas.toDataURL();
setFavicon(url);
};
emojiFavicon('🎉');
See also