const electron = require('electron'); electron.app.on('web-contents-created', function (event, contents) { contents.on('will-attach-webview', function (event, webPreferences) { 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 => { event.preventDefault(); }); contents.on('new-window', event => { event.preventDefault(); }); }); electron.app.on('ready', function () { electron.session.defaultSession.setPermissionRequestHandler( function (webContents, permission, callback) { const url = webContents.getURL(); if (url.startsWith('file://')) { callback(true); } else { callback(false); } }, ); });