Skip to content

js 获取favicon

挖个坑想着搞一个管理书签的插件。里边有各种推拽排序的功能方便操作管理,还能定时更新检查已经失效的网页链接,还能够根据现有的网站域名归类显示。吧啦吧啦等等功能。

但是其中有一个需要显示各种网站的图标,嗯,这个不能都下载下来搞一套吧,感觉也弄不完,这样的话就需要获取一下网站的favicon.ico。

那么接下来此文就是记录一下如何获取 favicon 的。

此方法可能无法覆盖到所有的情况,只是对于通常favicon存在于 域名/favicon.ico 的情况。

限定好了场景,那么接下来就是要如何获取这个图标了。

代码如下:

javascript
function getFavicon(url) {
  let a = document.createElement('a')
  a.href = url
  return `${a.protocol}//${a.hostname}/favicon.ico`
}

getFavicon('https://www.baidu.com/s?wd=js%20favicon.ico&rsv_spt=1&rsv_iqid=0xe90a78d7000ab990&issp=1&f=8&rsv_bp=1&rsv_idx=2&ie=utf-8&rqlang=cn&tn=baiduhome_pg&rsv_enter=1&rsv_dl=tb&oq=%25E5%25A6%2582%25E4%25BD%2595%25E8%258E%25B7%25E5%258F%2596favicon.ico&rsv_btype=t&inputT=1697&rsv_t=c92cDcLsEiY1ithFI2xdNgDjsJFipUVyppcywRIJFnYd5WND62XK1CWnTQi5hNPPxD3%2F&rsv_pq=98568fd304a58f6b&rsv_sug3=35&rsv_sug1=32&rsv_sug7=100&rsv_sug2=0&rsv_sug4=1697')

// "https://www.baidu.com/favicon.ico"