在我的JS类构造中,我有一个变量。
this.cookieBrowser = new BrowserWindow({ show: true, webPreferences: { webSecurity: false } });
i稍后,然后在功能中调用该变量以创建一个新窗口...这可以正常工作...但是,对于我正在运行的每个任务(子进程),cookie/session数据是相同的 - 但是我需要每个浏览器都有不同的会话。
我想知道是否有任何方法可以完成此任务,因为每个对象当前都返回完全相同的cookie集。
我每次使用以下方式调用函数时都尝试清除会话:
that.cookieBrowser.webContents.session.clearStorageData([], await function (data) {
})
这似乎只是暂时清除饼干 - 从长远来看,所有饼干仍然相同。
您应该为每个浏览器指定一个不同的(持久或不持久)分区。
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
和partition
属性之间的差异。