возможность создать новый сеанс для каждого объекта BrowserWindow? - PullRequest
0 голосов
/ 19 марта 2019

В моем конструкторе класса JS у меня есть переменная.

this.cookieBrowser = new BrowserWindow({ show: true, webPreferences: { webSecurity: false } });

Позже я затем вызываю эту переменную в функции, чтобы создать новое окно ... это работает просто отлично ... Однако для каждой задачи (дочернего процесса), которую я запускаю, данные куки / сеанса одинаковы - но мне нужно, чтобы у каждого браузера был свой сеанс.

Мне было интересно, есть ли способ выполнить эту задачу, так как каждый объект в настоящее время возвращает один и тот же набор файлов cookie.

Я пытался очистить сеанс каждый раз, когда вызываю функцию, используя:

    that.cookieBrowser.webContents.session.clearStorageData([], await function (data) {

    })

Похоже, это временно очищает куки-файлы - в конечном итоге все куки-файлы остаются неизменными.

1 Ответ

1 голос
/ 19 марта 2019

Вы должны указать разные (постоянные или не постоянные) разделы для каждого окна браузера.

    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.

См. здесь все опции browserWindow и разницу между session и partition свойством.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...