【发布时间】:2019-03-20 06:53:40
【问题描述】:
我知道如果您有一个 Session 实例,有一个用于清除 Session 数据的 API,但是是否可以删除所有会话?
【问题讨论】:
标签: electron
我知道如果您有一个 Session 实例,有一个用于清除 Session 数据的 API,但是是否可以删除所有会话?
【问题讨论】:
标签: electron
可能有可能(我自己没试过):
使用webContents.getAllWebContents() 获取所有WebContents 实例
返回 WebContents[] - 所有 WebContents 实例的数组。这将包含所有窗口、webview、打开的 devtools 和 devtools 扩展背景页面的 web 内容。
然后对于每个WebContents 实例,使用contents.session 访问Session 实例
此 webContents 使用的 Session。
所以它看起来像:(在主进程中)
const { webContents } = require('electron')
webContents.getAllWebContents().forEach(contents => {
contents.session.clearCache(/* some arguments */);
contents.session.clearStorageData(/* some arguments */);
});
【讨论】:
webContents(以及相关的会话)。如果我要删除的 Session 不活跃,这不会清除它。