如何清除标签关闭的历史条目?

时间:2017-09-03 22:52:18

标签: google-chrome-extension

我正在开发一个Chrome扩展程序,其中包含一个选项标签,用于在沙盒iframe元素中加载在线网页。每当用户点击iframe中的某个链接时,浏览器就会创建一个新的历史记录条目,并且浏览器的后退/前进按钮会被激活。

我想清除用户关闭标签后创建的所有历史记录条目,如果可能,请停止浏览器将标签添加到“历史记录 - >最近关闭”菜单中。

我已经在浏览器控制台中尝试了不同的API,并且以下所有内容似乎都没有按预期运行:

window.onunload = function() {
    // Using the `chrome.history` API
    chrome.history.deleteUrl({url: 'https://example.tld/'}, console.log);

    // Using the `chrome.browsingData` API
    chrome.browsingData.removeHistory({
      "since": (new Date()).getTime() - 1000000
    }, console.log);
};

虽然这成功执行且没有任何错误,但我仍然可以通过“历史记录 - >最近关闭”恢复标签,并使用后退/前进按钮导航回iframe元素内加载的网址(即“{{ 3}}“)。我怎么能阻止这种行为?

注意:“history”和“browsingData”权限都是通过“manifest.json”文件获取的。

1 个答案:

答案 0 :(得分:0)

SO post中提出了同样的情况。

  

有没有办法从以下位置删除特定关闭的标签:

     
      
  1. 最近关闭标签和
  2.   
  3. 也可以从多功能框预测文本中擦除它的任何痕迹?
  4.   

建议的操作是使用browsingData.remove

chrome.browsingData.remove( RemovalOptions options, DataTypeSet dataToRemove, function callback)