2

如果 Google S2 favicon 服务找不到网站的 favicon,它会返回默认图像。我想知道没有找到 favicon,所以我可以显示一些其他默认图像(在我的服务器上),或者切换到另一个 favicon 服务(如 g.etfv.co)。我知道 Google S2 不是很好。

我需要在浏览器中执行此操作,因此 HTML/JavaScript 解决方案会很好。我将始终拥有根 URL,例如 www.google.com 或 www.facebook.com。

最后一个问题:如何检测 Google S2 未找到的网站图标,或者我应该切换到另一个网站图标提供商?

提前致谢!

4

1 回答 1

0

我写了一些代码来做这个(作为一个 wp 插件)

如果提供了默认图像,它会检查每个网站图标提供程序。如果是这样:然后跳转到下一个提供者。如果没有供应商给我图片,我会自己做一个卷曲,例如,还会遵循重定向并扫描 404 以查找网站图标。

我在返回的数据字符串上检查它:如果这等于特定提供者提供的“空图像”,那么嗯......它是一个空图像(是的,如果提供者更改了他的默认图像,那么需要更改空图像字符串的变量)

例如对于谷歌它是(MD5):

private $_default = 'b8a0bf372c762e966cc99ede8682bc71';

完整源代码 (GPL): http: //plugins.svn.wordpress.org/wp-favicons/trunk/ (在 /includes/server 下,您会找到执行 http 请求、解析图像等的插件...)

我决定以插件的方式实现它:

  • 添加提供者(来源)的插件
  • 用于进一步操作图像的插件(例如重新缩放等...)
  • 如果没有找到,则提供默认网站图标的插件,例如 gravatars
  • 执行缓存的插件

它被实现为服务器和客户端,因此您还可以安装服务器部分,然后通过 http xml 请求调用服务器:发送一段文本并获取返回的文本,其中所有 href 替换为 hrefs + favicon它的前面。

于 2013-09-22T15:18:21.830 回答