В выше приведенном варианте использовался сервис для получения фавиконок от Google. Ему нужно только доменное имя верхнего уровня:
http://www.google.com/s2/u/0/favicons?domain=anysite.com
Для вытаскивания URL доменного имени можно использовать регулярное выражение:
Code
function getDomain(url) {
return url.match(/:\/\/(.[^/]+)/)[1];
}
А с помощью данной функции и jQuery формируется фоновое изображение с фавиконой:
Code
$("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 вместо регулярного выражения. Но гарантированной поддержки данного варианта нет.
Code
$("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"
});
});