从firefox扩展中检索网站的图标url

Retrieving the favicon url of the websites from firefox extension

本文关键字:图标 url 网站 检索 firefox 扩展      更新时间:2023-09-26

我想检索网站的网址,一旦它被加载。

你可以使用nsIFaviconService,它缓存已知页面的favicons。如下所示:

var faviconService = Components.classes["@mozilla.org/browser/favicon-service;1"]
                               .getService(Components.interfaces.nsIFaviconService);
var favicon = faviconService.getFaviconImageForPage(gBrowser.currentURI);
alert(favicon.spec);

请注意,它适用于nsIURI对象,而不是字符串。你可以使用nsIIOService.newURI()从字符串中获取nsIURI对象。

是的,我意识到我在复制karthik的答案-但它没有解释,只有一个虚假的代码示例。

https://developer.mozilla.org/en/nsIFaviconServicehttps://developer.mozilla.org/en/Using_the_Places_favicon_service

请仔细阅读这页。您可以使用下面定义的服务:

nsIServiceManager serviceManager = 
Mozilla.getInstance().getServiceManager(); 
nsIFaviconService service = 
(nsIFaviconService)serviceManager.getServiceByContractID("@mozilla.org/brows 
er/favicon-service;1", nsIFaviconService.NS_IFAVICONSERVICE_IID);