扩展组件,以获取firefox历史记录和书签中的访问次数?

时间:2014-03-23 14:43:44

标签: javascript firefox firefox-addon xpcom gecko

我想知道哪个界面可以用来获取firefox linkbookmarks中每个history的访问次数,以便开发扩展程序

我尝试使用nav-history-service获取书签和历史记录的链接,但无法弄清楚如何查看访问次数。

1 个答案:

答案 0 :(得分:4)

此处的代码将通过前10个书签条目。如果它是一个网址,它会检查其.accessCount属性,该属性包含访问它的次数。

var hs = Cc["@mozilla.org/browser/nav-history-service;1"].getService(Ci.nsINavHistoryService);

var query = hs.getNewQuery();
var options = hs.getNewQueryOptions();

// Query users bookmarks, not history
options.queryType = options.QUERY_TYPE_BOOKMARKS;
// Execute the search and store results
var result = hs.executeQuery(query, options);

// Open the root containerNode and open it
var resultContainerNode = result.root;
// OPEN resultContainerNode
resultContainerNode.containerOpen = true;
// Search results are now child items of this container?
for (var i = 0; i < resultContainerNode.childCount; ++i) {
    var childNode = resultContainerNode.getChild(i);
    if (childNode.type == childNode.RESULT_TYPE_URI) {
        console.log('childNode ' + i + ' is url = ', childNode)
        console.log('times visited = ', childNode.accessCount)
    }
    if (i >= 10) {
        break
    }
}

// CLOSE resultContainerNode
resultContainerNode.containerOpen = false;

要点在这里:https://gist.github.com/Noitidart/9729440