【问题标题】:How to get images from cache using a XPCOM Component in Firefox如何在 Firefox 中使用 XPCOM 组件从缓存中获取图像
【发布时间】:2012-06-13 23:31:02
【问题描述】:

我需要获取文档中加载的所有图像的缓存文件路径,我想知道我需要使用哪些接口才能做到这一点

https://developer.mozilla.org/en/XPCOM_Interface_Reference

【问题讨论】:

  • 它是 nsICache*,您可能应该从 nsICacheService 开始。我有一些从缓存中驱逐图像的代码,我看看能不能把它挖出来

标签: firefox-addon xpcom


【解决方案1】:

这是我用来驱逐缓存条目的:

  function removeItem(url){
    let cacheService = Components.classes["@mozilla.org/network/cache-service;1"]
                            .getService(Components.interfaces.nsICacheService);
    var Ci = Components.interfaces;
    var session = cacheService.createSession("image", Ci.nsICache.STORE_ANYWHERE, false);
    if(!session){
        return;
    }

    var entry;
    try{
        entry = session.openCacheEntry(url, Ci.nsICache.ACCESS_READ, false);
        if(!entry){
            return;
        }
    }catch(ex){
        return;
    }

    entry.doom();
    entry.close();
  }
}

一旦你有条目,你应该能够打开一个流到它 - 可能获取内容甚至替换它 - 不过我还没有尝试过。

【讨论】:

    猜你喜欢
    • 2010-09-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-03-03
    • 1970-01-01
    • 1970-01-01
    • 2019-02-19
    相关资源
    最近更新 更多