diff --git a/app/ui.js b/app/ui.js index bbdea60d3..d90885ac5 100644 --- a/app/ui.js +++ b/app/ui.js @@ -184,6 +184,7 @@ const UI = { UI.initSetting('shared', true); UI.initSetting('bell', 'on'); UI.initSetting('view_only', false); + UI.initSetting('warn_before_close', false); UI.initSetting('show_dot', false); UI.initSetting('path', 'websockify'); UI.initSetting('repeaterID', ''); @@ -369,6 +370,7 @@ const UI = { UI.addSettingChangeHandler('shared'); UI.addSettingChangeHandler('view_only'); UI.addSettingChangeHandler('view_only', UI.updateViewOnly); + UI.addSettingChangeHandler('warn_before_close'); UI.addSettingChangeHandler('show_dot'); UI.addSettingChangeHandler('show_dot', UI.updateShowDotCursor); UI.addSettingChangeHandler('host'); @@ -887,6 +889,7 @@ const UI = { UI.updateSetting('compression'); UI.updateSetting('shared'); UI.updateSetting('view_only'); + UI.updateSetting('warn_before_close'); UI.updateSetting('path'); UI.updateSetting('repeaterID'); UI.updateSetting('logging'); @@ -1221,8 +1224,10 @@ const UI = { // preventDefault() or a nonempty returnValue, though the latter is // considered legacy. The custom string is ignored by modern browsers, // which display a native message, but older browsers will show it. - e.preventDefault(); - e.returnValue = _("Are you sure you want to disconnect the session?"); + if (UI.getSetting('warn_before_close')) { + e.preventDefault(); + e.returnValue = _("Are you sure you want to disconnect the session?"); + } }, updateBeforeUnload() { @@ -1769,6 +1774,7 @@ const UI = { .classList.add('noVNC_hidden'); document.getElementById('noVNC_clipboard_button') .classList.add('noVNC_hidden'); + UI.disableSetting('warn_before_close'); } else { document.getElementById('noVNC_keyboard_button') .classList.remove('noVNC_hidden'); @@ -1776,6 +1782,7 @@ const UI = { .classList.remove('noVNC_hidden'); document.getElementById('noVNC_clipboard_button') .classList.remove('noVNC_hidden'); + UI.enableSetting('warn_before_close'); } }, diff --git a/vnc.html b/vnc.html index 82cacd580..9c817833a 100644 --- a/vnc.html +++ b/vnc.html @@ -219,6 +219,13 @@