【发布时间】:2015-01-23 16:47:11
【问题描述】:
我编写了一个小扩展,它使用来自chrome.history API 的deleteRange,以便删除开始和结束时间戳之间的部分浏览器历史记录。
chrome.history.deleteRange({
startTime : startTime,
endTime : endTime
}, function() {
console.log("Recent history deleted successfully");
});
我使用(new Date()).getTime() 得到startTime 和endTime。
它“有点工作”。如果我在启动扩展程序后第一次在 Chrome 中打开一个页面,我将能够在多功能框中使用它的 URL,而无需完全输入它(这表明 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。让我们看看我能从那里得到什么
【问题讨论】:
-
我会假设相关条目的访问时间需要位于
startTime和endTime之间。当您扩大范围并且不为两者使用相同的确切时间时会发生什么(或者我误解了您如何设置它们)? -
我使用相同的代码设置startTime和endTime,但是我在两个不同的时间点使用它(浏览器动作图标的两次不同的点击),所以它们是不同的,页面访问是清楚地在 startTime 和 endTime 之间)
-
你能添加控制台输出显示设置的 3 次吗?
-
页面访问时间呢?
-
我应该如何找到这个?我只是在 startTime 和 endTime 之间手动打开了一个页面。我可以在设置/历史记录中看到它(带有当地时间小时/分钟),所以访问已被自动记录
标签: javascript google-chrome-extension browser-history