40 lines
1.1 KiB
JavaScript
40 lines
1.1 KiB
JavaScript
const electron = require('electron');
|
|
|
|
electron.app.on('web-contents-created', function(event, contents) {
|
|
contents.on('will-attach-webview', function(event, webPreferences, params) {
|
|
delete webPreferences.preloadURL;
|
|
delete webPreferences.preload;
|
|
|
|
webPreferences.nodeIntegration = false;
|
|
webPreferences.webSecurity = true;
|
|
webPreferences.allowRunningInsecureContent = false;
|
|
webPreferences.experimentalFeatures = false;
|
|
webPreferences.enableBlinkFeatures = false;
|
|
|
|
// For now, we never use <webview>. Just disable it entirely.
|
|
event.preventDefault();
|
|
});
|
|
|
|
contents.on('will-navigate', (event, navigationUrl) => {
|
|
event.preventDefault();
|
|
});
|
|
|
|
contents.on('new-window', (event, navigationUrl) => {
|
|
event.preventDefault();
|
|
});
|
|
});
|
|
|
|
electron.app.on('ready', function() {
|
|
electron.session.defaultSession.setPermissionRequestHandler(function(
|
|
webContents,
|
|
permission,
|
|
callback
|
|
) {
|
|
var url = webContents.getURL();
|
|
if (url.startsWith('file://')) {
|
|
callback(true);
|
|
} else {
|
|
callback(false);
|
|
}
|
|
});
|
|
});
|