Фавиконки рядом со ссылками

При оформлении страниц сайта очень интересным свойством может быть автоматическая вставка фавиконки рядом со ссылкой на другие ресурсы. К сожалению, только средствами CSS сделать универсальное решение не получится, но немного jQuery помогут добиться замечательного результата.

 

Решение для одной ссылки

Если таким образом хочется оформлять ссылки только на один ресурс, то вполне можно обойтись только CSS. A разметке формируем ссылку:

<a href=http://ruseller.com>Ruseller</a>

А в CSS формируем для нее внешний вид:

a[href*="ruseller.com"]{
    padding-left:18px;
    background:url(http://www.google.com/s2/u/0/favicons?domain=ruseller.com) left center no-repeat;
}

Здесь используется сервис Google для фавиконок.

 

Универсальное решение

В выше приведенном варианте использовался сервис для получения фавиконок от Google. Ему нужно только доменное имя верхнего уровня:

http://www.google.com/s2/u/0/favicons?domain=ruseller.com

Для вытаскивания URL доменного имени можно использовать регулярное выражение:

function getDomain(url) {
   return url.match(/:\/\/(.[^/]+)/)[1];
}

А с помощью данной функции и jQuery формируется фоновое изображение с фавиконой:

$("a[href^='http']").each(function() {
    $(this).css({
        background: "url(http://www.google.com/s2/u/0/favicons?domain=" + getDomain(this.href) +
        ") left center no-repeat",
        "padding-left": "18px"
    });
});

Можно также воспользоваться this.hostname вместо регулярного выражения. Но гарантированной поддержки данного варианта нет.

$("a[href^='http']").each(function() {
    $(this).css({
        background: "url(http://www.google.com/s2/u/0/favicons?domain=" + this.hostname +
        ") left center no-repeat",
        "padding-left": "18px"
    });
});

 

Используем getFavicon

Есть еще один сервис - getFavicon. Как показала практика, он чуть-чуть медленнее. Но у него есть преимущество - можно использовать полный URL без выделения доменного имени.

$("a[href^='http']").each(function() {
    $(this).css({
        background: "url(http://g.etfv.co/" + this.href + ") left center no-repeat",
        "padding-left": "20px"
    });
});?

 

Заключение

При реализации данного свойства на сайте нужно помнить о вопросе производительности. Каждое маленькое изображение потребует отдельного запроса.

У Яндекса есть сервис, который формирует спрайт из фавиконок, например:

http://favicon.yandex.net/favicon/google.com/yandex.ru/ruseller.com


Источник: http://feedproxy.google.com/~r/ruseller/CdHX/~3/dIKY3lZPzuU/lessons.php

Читать комменты и комментировать

Добавить комментарий / отзыв



Защитный код
Обновить

Фавиконки рядом со ссылками | | 2012-06-19 11:57:39 | | Статьи Web-мастеру | | При оформлении страниц сайта очень интересным свойством может быть автоматическая вставка фавиконки рядом со ссылкой на другие ресурсы. К сожалению, только средствами CSS сделать универсальное | РэдЛайн, создание сайта, заказать сайт, разработка сайтов, реклама в Интернете, продвижение, маркетинговые исследования, дизайн студия, веб дизайн, раскрутка сайта, создать сайт компании, сделать сайт, создание сайтов, изготовление сайта, обслуживание сайтов, изготовление сайтов, заказать интернет сайт, создать сайт, изготовить сайт, разработка сайта, web студия, создание веб сайта, поддержка сайта, сайт на заказ, сопровождение сайта, дизайн сайта, сайт под ключ, заказ сайта, реклама сайта, хостинг, регистрация доменов, хабаровск, краснодар, москва, комсомольск |
 
Поделиться с друзьями: