我捕获DOMContentLoaded事件。我有触发事件的文件。在大多数情况下,可以获得图标:
let favicon=gBrowser.selectedTab.image;
但是如果页面相当大,用户可以有时间激活其他选项卡。在这种情况下,此代码将获取新选项卡的favicon。我可以获得文件或浏览器的标签更新。是否可以在不分析页面代码的情况下获取图标? 提前致谢
答案 0 :(得分:0)
是的,使用PlacesUtils,只需使用页面的域名,您不必等待页面加载即可。从document.location获取它
var {interfaces: Ci, utils: Cu} = Components;
Cu.import("resource://gre/modules/PlacesUtils.jsm");
Cu.import("resource://gre/modules/Services.jsm");
var uri = Services.io.newURI('http://www.bing.com/', null, null);
var callback = function(uri, len, data, mimeType) {
alert(uri.spec);
console.log(uri.spec);
}
PlacesUtils.favicons.getFaviconDataForPage(gBrowser.currentURI, callback );