【问题标题】:How to get favicon of a website without analyzing page code?如何在不分析页面代码的情况下获取网站的图标?
【发布时间】:2014-02-05 19:10:23
【问题描述】:

我捕捉到 DOMContentLoaded 事件。我有触发事件的文件。在大多数情况下,可以这样获得网站图标:

let favicon=gBrowser.selectedTab.image;

但如果页面相当大,用户可以有时间激活其他选项卡。在这种情况下,此代码将获取新选项卡的图标。我可以获得文档或浏览器的制表符。是否可以在不分析页面代码的情况下获取 favicon? 提前致谢

【问题讨论】:

  • 直接从站点 Ajax favicon
  • 换句话是不可能的?我不想使用请求
  • 不,不是不可能。但是,您需要记住正在加载哪个选项卡以及何时加载通过 firefox 方法获取它,而不是使用当前选定的选项卡(我怀疑这是问题所在)。
  • 谢谢。我认为存在更简单的方法

标签: javascript firefox-addon xul


【解决方案1】:

是的,使用 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 );

【讨论】:

    猜你喜欢
    • 2011-08-12
    • 1970-01-01
    • 1970-01-01
    • 2012-05-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-10-13
    相关资源
    最近更新 更多