javascript - 在隐身模式下使用 chrome.browsingData.remove()

标签 javascript google-chrome google-chrome-extension

我有一个扩展程序,使用后台页面中的这行代码删除了在 Google Chrome 中进行的下载:

chrome.browsingData.remove({ "since": 0 }, { "downloads": true });

当下载是在正常窗口中时,它可以工作,但是当下载是在隐身 Chrome 窗口中进行时,它不会被删除。我的扩展程序在隐身模式下激活,后台页面能够检测隐身页面中的下载何时完成,使用:

chrome.downloads.onChanged.addListener(function(download) {
    if (download.state && download.state.current == "complete") {
        // The code here is fired even if the download has been completed in incognito mode
    }
}

有没有办法从后台页面中删除隐身窗口中的浏览数据?

最佳答案

您面临的问题是您的扩展正在运行 spanning incognito mode .这意味着扩展在附加到安装扩展的配置文件的单个进程下运行(即不是隐身窗口)。在这种情况下,chrome.downloads API 会为隐身和普通配置文件中的下载触发 onChanged 事件,但仅 chrome.browsingData API适用于普通配置文件。

相反,您想使用split 隐身模式。这意味着该扩展程序在使用它的每个配置文件中单独运行(即隐身窗口获得其自己的扩展程序运行副本)。这意味着当您调用 chrome.browsingData API 时,它适用于触发事件的窗口。

关于javascript - 在隐身模式下使用 chrome.browsingData.remove(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30691843/

相关文章:

javascript - 避免在 html 元素中使用 id

PHP FTP 和 ajax 或类似的

JavaScript: "split"函数的正则表达式排除逗号和换行符

javascript - 在显示图像之前确定图像是否缓存在浏览器中(内存或磁盘缓存)?

javascript - Flowplayer 在 Google Chrome 中加载但无法播放视频,但可以在其他浏览器中运行

google-chrome-extension - 是否可以通过用户脚本确定Chrome是否处于隐身模式?

javascript - 如何使用鼠标在内容上滚动可滚动的 div?

javascript - bgStretcher 无法在 FireFox 或 Chrome 中工作

firefox - 我可以手动检查浏览器的readyState值吗?

javascript - 可以使用 Ruby on Rails 开发 google chrome 扩展吗?