使用chrome.history.deleteRange未完全删除历史记录

时间:2014-11-25 15:38:20

标签: javascript google-chrome-extension browser-history

我编写了一个小型扩展程序,使用deleteRange API中的chrome.history来删除开始和结束时间戳之间的部分浏览器历史记录。

chrome.history.deleteRange({
   startTime : startTime,
   endTime : endTime
}, function() {
   console.log("Recent history deleted successfully");
});

我使用startTime同时获得endTime(new Date()).getTime()

它"有点作品"。如果我在启动扩展程序后第一次在Chrome中打开一个页面,我就可以在多功能框中使用其网址而无需完全输入它(这标志着Chrome记住了URL的历史记录)。致电deleteRange后,我无法再这样做了。我还在控制台上看到了文本Recent history deleted successfully。这表明该页面已从历史记录中删除。

但它没有。如果我转到Chrome /设置/历史记录,我仍然可以看到我何时访问该页面。我希望这会被抹掉......我怎么能用最近的历史记录使用开始和结束时间标记擦除一个页面(我之前从未打开过)?

编辑:我添加了一行

console.log("Right before calling deleteRange. startTime=" + startTime + " / endTime=" + endTime);

导致我的代码

Right before calling deleteRange. startTime=1416931451880 / endTime=1416931463988

EDIT2:我开了Chromium bug。让我们看看我能从那里得到什么

2 个答案:

答案 0 :(得分:1)

Chromium开发人员已确认该错误。这取决于启用历史记录同步。

请参阅Chromium bug report

答案 1 :(得分:0)

查看文档:{​​{3}}

它说:

  

除非所有次访问失败,否则不会从历史记录中删除页面   在范围内。

所以我的猜测是,那些你得到建议的网页,会在startTime之前进行访问。因此,不会删除其网址,因为并非所有访问都属于您指定的范围。