Извлечение URL-адреса значка сайта из расширения Firefox. - PullRequest
0 голосов
/ 28 октября 2011

Я хочу получить URL-адрес значка сайта после его загрузки. Как я могу реализовать это для моего расширения Firefox.

Ответы [ 2 ]

2 голосов
/ 28 октября 2011

Вы можете использовать nsIFaviconService , он кэширует значки для известных страниц.Вдоль этих строк:

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 из строки.

Да, я понимаю, что дублирую ответ Картика - но он не имеет объясненияи только пример фиктивного кода.

0 голосов
/ 28 октября 2011

https://developer.mozilla.org/en/nsIFaviconService https://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); 
...