我在我的Google Chrome扩展中使用chrome://favicon/
获取RSS订阅源的favicon。我的做法是获取链接页面的基本路径,然后将其附加到chrome://favicon/http://<domainpath>
。
但这种方法效果不稳定。很多时候它会报告标准的“没有-favicon”图标,即使该页面确实有一个favicon。关于chrome://favicon
机制几乎没有任何文档,所以很难理解它的实际工作方式。它只是已经访问过的链接的缓存吗?是否可能检测是否存在图标?
从一些简单的测试来看,它只是你已经访问过的页面的favicon缓存。因此,如果我订阅了dribbble.com的RSS源,它在我的扩展中就不会显示一个favicon。然后,如果我访问chrome://favicon/http://dribbble.com/
,它将不会返回正确的图标。然后我在另一个标签中打开dribbble.com,它在标签中显示它的图标,然后当我重新加载chrome://favicon/http://dribbble.com/
标签时,它将返回正确的favicon。然后我打开我的扩展弹出窗口,它仍然显示标准图标。但如果我重新启动Chrome,它将在所有地方都获取正确的图标。
这只是一些基本的研究,没有让我更接近解决方案。所以我的问题是:对于我正在做的事情,chrome://favicon/
是一个正确的用例吗?有文档可以参考吗?它的预期行为是什么?