在我的JS类构造函数中,我有一个变量。
this.cookieBrowser = new BrowserWindow({ show: true, webPreferences: { webSecurity: false } });然后,我在一个函数中调用该变量来创建一个新窗口...这很好用..。但是,对于我正在运行的每个任务(子进程),cookie/会话数据都是相同的-但我需要每个浏览器都有一个不同的会话。
我想知道是否有任何方法来完成这个任务,因为每个对象当前都返回完全相同的cookie集。
我尝试在每次调用函数时使用以下命令清除会话:
that.cookieBrowser.webContents.session.clearStorageData([], await function (data) {
})这似乎只是暂时清除了cookies所有cookie在长期运行中仍然是相同的。
发布于 2019-03-19 23:30:10
您应该为每个浏览器窗口指定一个不同的(持久化或非持久化)分区。
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属性之间的差异。
https://stackoverflow.com/questions/55244231
复制相似问题