diff --git a/index.js b/index.js index 3a0d86174f..9047c256a5 100644 --- a/index.js +++ b/index.js @@ -2,6 +2,7 @@ const electron = require('electron'); const path = require('path'); const config = require('./services/config'); +const url = require("url"); const app = electron.app; @@ -38,6 +39,16 @@ function createMainWindow() { } }); + // prevent drag & drop to navigate away from trilium + win.webContents.on('will-navigate', (ev, targetUrl) => { + const parsedUrl = url.parse(targetUrl); + + // we still need to allow internal redirects from setup and migration pages + if (parsedUrl.hostname !== 'localhost' || (parsedUrl.path && parsedUrl.path !== '/')) { + ev.preventDefault(); + } + }); + return win; }