Следуя документации API, я не понимаю, как определить HTTP-заголовок Content-Security-Policy для рендеринга моего приложения Electron. Я всегда получаю предупреждение в DevTools.
Я старался:
1) Скопируйте/Вставьте код в API Doc, слепо:
app.on('ready', () => {
const {session} = require('electron')
session.defaultSession.webRequest.onHeadersReceived((details, callback) => {
callback({responseHeaders: 'default-src 'self''})
})
win = new BrowserWindow(...)
win.loadUrl(...)
}
(Кстати, я не понимаю, почему в строке отсутствует "Content-Security-Policy:", но добавление ее ничего не меняет)
2) Изменение сеанса рендеринга с тем же кодом:
win = new BrowserWindow(...)
win.loadUrl(...)
const ses = win.webContents.session;
ses.webRequest.onHeadersReceived((details, callback) => {
callback({responseHeaders: 'default-src 'self''})
})
3) Добавьте дополнительный заголовок в средство рендеринга:
win = new BrowserWindow(...)
win.loadURL('file://${__dirname}/renderer.html',{
extraHeaders: 'Content-Security-Policy: default-src 'self''
});
...
Единственное, что работает, - использовать метатег в файле HTML рендеринга:
<meta http-equiv="Content-Security-Policy" content="default-src 'self'>