Блог - Linux, программирование, Я!

ПрограммированиеМеняем favicon с помощью Jquery

Фавикон (иконка для веб-странички) добавляется таким тегом в HEAD страницы:
<link rel="shortcut icon" href="favicon.ico" type="image/x-icon" />
Если вдруг появится необходимость его динамически поменять, то, по аналогии с картинками, должно быть достаточно сменить href атрибут, но на самом деле браузеры на это никак не реагируют. Поэтому нужно удалить и создать заново этот тег.
Как это сделать на чистом JavaScript описано тут Управление иконками favicon из JavaScript - видим, что способ достаточно громоздкий.
В Jquery можно эту операцию проделать всего тремя строчками.

[codesyntax lang="javascript"]function chFavicon(iconHref){
//получаем объект тега иконки
icon=$(":[rel='shortcut icon']");
//создаем копию объекта иконки
cache=icon.clone();
//меняем атрибут href на переданный функции
cache.attr("href", iconHref);
//переписываем тег иконки
icon.replaceWith(cache);
}[/codesyntax]

  1. Максим
    2011-05-16 15:42:34 | #

    Спасибо!

  2. Alex
    2014-07-21 14:19:24 | #

    Привет! Путь к новому или имя нового favicon.ico куда вставлять?

    • 2014-07-21 17:11:16 | #

      После того JS кода появляется функция chFavicon — её и вызываем, первым аргументом передаём путь к новому favicon

      chFavicon("/path/to/new.ico")