在隐身模式下使用 chrome.browsingData.remove()
Using chrome.browsingData.remove() in incognito mode
我有一个扩展删除 Google Chrome 中的下载,在我的后台页面中使用这行代码:
chrome.browsingData.remove({ "since": 0 }, { "downloads": true });
在正常下载时 window 它可以工作,但是在隐身 Chrome window 中下载时它不会被删除。我的扩展程序在隐身模式下激活,后台页面能够检测隐身页面中的下载何时完成,使用:
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
}
}
有没有办法从后台页面中删除隐身浏览数据windows?
您遇到的问题是您的分机号是 spanning
incognito mode 中的 运行。这意味着扩展在附加到安装扩展的配置文件的单个进程下运行(即不是隐身 window)。在这种情况下,chrome.downloads
API 触发 onChanged
事件以在隐身和普通配置文件中下载,但 chrome.browsingData
API 仅适用于普通配置文件.
相反,您想使用 split
隐身模式。这意味着扩展在使用它的每个配置文件中单独运行(即隐身 window 获得自己的 运行 扩展副本)。这意味着当您调用 chrome.browsingData
API 时,它适用于触发事件的 window。
我有一个扩展删除 Google Chrome 中的下载,在我的后台页面中使用这行代码:
chrome.browsingData.remove({ "since": 0 }, { "downloads": true });
在正常下载时 window 它可以工作,但是在隐身 Chrome window 中下载时它不会被删除。我的扩展程序在隐身模式下激活,后台页面能够检测隐身页面中的下载何时完成,使用:
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
}
}
有没有办法从后台页面中删除隐身浏览数据windows?
您遇到的问题是您的分机号是 spanning
incognito mode 中的 运行。这意味着扩展在附加到安装扩展的配置文件的单个进程下运行(即不是隐身 window)。在这种情况下,chrome.downloads
API 触发 onChanged
事件以在隐身和普通配置文件中下载,但 chrome.browsingData
API 仅适用于普通配置文件.
相反,您想使用 split
隐身模式。这意味着扩展在使用它的每个配置文件中单独运行(即隐身 window 获得自己的 运行 扩展副本)。这意味着当您调用 chrome.browsingData
API 时,它适用于触发事件的 window。