如何使用Firefox中的XPCOM组件从缓存中获取图像

时间:2011-01-24 18:08:33

标签: firefox-addon xpcom

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

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

1 个答案:

答案 0 :(得分: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();
  }
}

一旦你有了参赛作品,你应该可以打开一个流 - 可能获得内容甚至替换它 - 我还没试过。