【问题标题】:API for clearing all sessions in Electron?用于清除 Electron 中所有会话的 API?
【发布时间】:2019-03-20 06:53:40
【问题描述】:

我知道如果您有一个 Session 实例,有一个用于清除 Session 数据的 API,但是是否可以删除所有会话?

【问题讨论】:

    标签: electron


    【解决方案1】:

    可能有可能(我自己没试过):

    1. 使用webContents.getAllWebContents() 获取所有WebContents 实例

      返回 WebContents[] - 所有 WebContents 实例的数组。这将包含所有窗口、webview、打开的 devtools 和 devtools 扩展背景页面的 web 内容。

    2. 然后对于每个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 不活跃,这不会清除它。
    猜你喜欢
    • 1970-01-01
    • 2018-11-16
    • 1970-01-01
    • 2014-06-14
    • 1970-01-01
    • 2017-12-10
    • 1970-01-01
    • 1970-01-01
    • 2011-03-05
    相关资源
    最近更新 更多