javascript - 在 Firefox 29+ 中查询下载历史列表

标签 javascript firefox download firefox-addon

我需要为与 Firefox 29 兼容的扩展生成下载文件的历史列表。Downloads.jsm仅检索事件 session 的下载列表。我需要获取所有下载文件的列表。我的意思是那些下载的,比如说,两周前。

如何获取 Firefox 29 的下载历史记录?

最佳答案

您必须查询Places数据库。

var sqlstr = "SELECT title FROM moz_places WHERE id IN (SELECT place_id FROM moz_historyvisits WHERE visit_type = 7)"
var conn = PlacesUtils.history.QueryInterface(Ci.nsPIPlacesDatabase).DBConnection;
var stmt = conn.createAsyncStatement(sqlstr);

stmt.executeAsync({
  _filenames: [],
  handleResult: function(aResultSet){
    let row;
    while((row = aResultSet.getNextRow())){
      this._filenames.push(row.getResultByIndex(0));
    }
  },
  handleError: function(aError){
  },
  handleCompletion: function(aReason){
    console.log(this._filenames.join(","))
  }
});

那个神秘的 7 就是 Ci.nsINavHistoryService.TRANSITION_DOWNLOAD 的值。

关于javascript - 在 Firefox 29+ 中查询下载历史列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23749954/

相关文章:

javascript - 有没有办法使用 Web 身份验证 API (WebAuthn) 获取 U2F 设备的稳定唯一标识符?

javascript - 为什么多次调用 setTimeout() 会造成如此大的延迟?

javascript语法错误预期表达式,得到 '<'

python - urllib 和 urllib2 返回 "IOError: [Errno socket error] [Errno -2] Name or service not known"但 Firefox 下载文件没有问题

javascript - “Unhandled stream error in pipe” - 使用带有 express 的 request.js 下载的文件太多

javascript - 点击运行 PHP 代码和 Javascript

javascript - 可以绕过最近定位的祖先吗?

javascript - 定时器 onClick javascript

php - 限制并行/同时下载 - 如何知道下载是否被取消?

javascript - 如何从url durandal获取参数值