我可以从主进程(app.js)创建持久性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);
});
但是当我在浏览器窗口中执行相同操作时,不会创建Cookie并且session
未定义。
请建议我应该如何在浏览器中保存持久数据。
答案 0 :(得分:3)
可以通过IPC访问在渲染器进程中不能直接使用的内置模块(例如session
),remote
模块提供了一种简单的方法(但你应该是意识到它的局限性)。因此,只需将第一行更改为:
const session = require('electron').remote.session;