Следующий код будет добавлять знаки доступа ко всем ссылкам, кроме внутренних ссылок или ссылок, не относящихся к http, которые заключены в родительский контейнер класса favicon
.
Кроме того, может быть лучше использовать похититель Google favicon с точки зрения скорости, а не извлекать его вручную из каждого домена, как показал Лебстер в своем ответе.
var host = window.location.host;
var links = document.querySelectorAll('.favicon a');
var googleFaviconGrabber = "https://www.google.com/s2/favicons?domain=";
for (i = 0; i < links.length; i++) {
var link = links[i];
// Skip all internal links and non HTTP links
if (link.href.match("^https?://") && !link.href.match(host)) {
var domain = link.href.split("/");
// Apply some CSS styles to the hyperlinks
link.style.background = "url(" + googleFaviconGrabber + domain[2] + ") center left no-repeat";
link.style.fontWeight = "bold";
link.style.padding = "5px 5px 5px 20px";
link.style.textDecoration = "underline";
}
}
<div class="favicon">
This demo shows how to add favicons to external links using javascript. Check out this link to
<a href="https://codegena.com">Codegena</a>.
<ul>
<li> <a href="https://css-tricks.com/">CSS Tricks</a></li>
<li><a href="https://google.in">Google</a></li>
<li><a href="http://unheap.com">Unheap</a></li>
<li><a href="http://www.canva.com/">Canva</a></li>
</ul>
</div>