2016-05-26 4 views
1

Я могу создать постоянный куки из основного процесса (app.js)ElectronJS: как обрабатывать файлы cookie из обработанного процесса (окно браузера)?

код:

const session = require('electron').session; 
    const ses = session.fromPartition('persist:name'); 

    debugger; 
    // Query all cookies associated with a specific url. 
    ses.cookies.get({}, (error, cookies) => { 

     console.log(cookies); /// cookies values should be printed next time the applciation is launched. 
    }); 

    // Set a cookie with the given cookie data; 
    // may overwrite equivalent cookies if they exist. 
    const cookie = { 
     url: 'http://www.github.com', 
     name: 'dummy_name', 
     value: 'dummy', 
     expirationDate: 2093792393999 
    }; 
    ses.cookies.set(cookie, (error) => { 
     debugger; 

     if (error) 
      console.error(error); 
    }); 

Но когда я делаю то же самое в окне браузера, куки не создаются и session является не определено.

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

ответ

3

Доступ к встроенным модулям, которые не доступны непосредственно в процессе визуализации (например, session), можно получить через IPC, модуль remote предоставляет простой способ сделать это (но вы должны знать об ограничениях). Таким образом, вы должны иметь возможность заставить свой код работать в процессе рендеринга, просто изменив первую строку на:

const session = require('electron').remote.session; 
+0

большое спасибо сэр. Если бы вы могли сказать мне, что еще один «localStorage» не сохраняет значения настойчиво. Я имею в виду, что когда приложение перезапускается, все значения 'localStorage' исчезли. Я знаю, может задать другой вопрос, но ... было бы здорово, если бы вы могли рассказать мне то, что знаете. –

Смежные вопросы