首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >是否能够为每个BrowserWindow对象创建新会话?

问是否能够为每个BrowserWindow对象创建新会话?
EN

Stack Overflow用户
提问于 2019-03-19 23:10:19
回答 1查看 1.5K关注 0票数 0

在我的JS类构造函数中,我有一个变量。

代码语言:javascript
复制
this.cookieBrowser = new BrowserWindow({ show: true, webPreferences: { webSecurity: false } });

然后,我在一个函数中调用该变量来创建一个新窗口...这很好用..。但是,对于我正在运行的每个任务(子进程),cookie/会话数据都是相同的-但我需要每个浏览器都有一个不同的会话。

我想知道是否有任何方法来完成这个任务,因为每个对象当前都返回完全相同的cookie集。

我尝试在每次调用函数时使用以下命令清除会话:

代码语言:javascript
复制
    that.cookieBrowser.webContents.session.clearStorageData([], await function (data) {

    })

这似乎只是暂时清除了cookies所有cookie在长期运行中仍然是相同的。

EN

回答 1

Stack Overflow用户

发布于 2019-03-19 23:30:10

您应该为每个浏览器窗口指定一个不同的(持久化或非持久化)分区。

代码语言:javascript
复制
    this.cookieBrowser = new BrowserWindow({
        show: true,
        webPreferences: {
            webSecurity: false,
            partition: 'unique_random_path' // OR  'persist:unique_random_path' to save session on disk 
        } 
    });

    this.cookieBrowser2 = new BrowserWindow({
        show: true,
        webPreferences: {
            webSecurity: false,
            partition: 'unique_random_path2' // OR  'persist:unique_random_path2' to save session on disk 
        } 
    });

您可以通过向webPreferences传递一个session object来实现相同的结果。

请参见here all browserWindow options和session与partition属性之间的差异。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55244231

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档