diff --git a/app/ux/WebView.js b/app/ux/WebView.js index 09563724..6e922012 100644 --- a/app/ux/WebView.js +++ b/app/ux/WebView.js @@ -84,13 +84,18 @@ Ext.define('Rambox.ux.WebView',{ if ( !webview.isAudioMuted() && me.muted ) webview.setAudioMuted(me.muted); // Open links in default browser - webview.addEventListener('new-window', (e) => { + webview.addEventListener('new-window', function(e) { const protocol = require('url').parse(e.url).protocol; if (protocol === 'http:' || protocol === 'https:') { + e.preventDefault(); require('electron').shell.openExternal(e.url); } }); + webview.addEventListener('will-navigate', function(e, url) { + e.preventDefault(); + }); + // Injected code to detect new messages if ( me.record && me.record.get('js_unread') !== '' ) { console.info('JS Injected', me.src); diff --git a/electron/main.js b/electron/main.js index ed6973a5..96718839 100644 --- a/electron/main.js +++ b/electron/main.js @@ -117,6 +117,10 @@ function createWindow () { mainWindow.on('page-title-updated', (e, title) => updateBadge(title)); + mainWindow.webContents.on('will-navigate', function(event, url) { + event.preventDefault(); + }); + // Emitted when the window is closed. mainWindow.on('close', function(e) { if ( !isQuitting ) {