diff --git a/app/ui.js b/app/ui.js index 90dc7189..caba8e18 100644 --- a/app/ui.js +++ b/app/ui.js @@ -120,7 +120,7 @@ const UI = { document.documentElement.classList.remove("noVNC_loading"); - let autoconnect = WebUtil.getConfigVar('autoconnect', false); + let autoconnect = UI.getSetting('autoconnect'); if (autoconnect === 'true' || autoconnect == '1') { autoconnect = true; UI.connect(); @@ -160,11 +160,14 @@ const UI = { /* Populate the controls if defaults are provided in the URL */ UI.initSetting('encrypt', (window.location.protocol === "https:")); + UI.initSetting('password'); + UI.initSetting('autoconnect', false); UI.initSetting('view_clip', false); UI.initSetting('resize', 'off'); UI.initSetting('quality', 6); UI.initSetting('compression', 2); UI.initSetting('shared', true); + UI.initSetting('bell', 'on'); UI.initSetting('view_only', false); UI.initSetting('show_dot', false); UI.initSetting('path', 'websockify'); @@ -759,9 +762,12 @@ const UI = { let value = UI.getSetting(name); const ctrl = document.getElementById('noVNC_setting_' + name); + if (ctrl === null) { + return; + } + if (ctrl.type === 'checkbox') { ctrl.checked = value; - } else if (typeof ctrl.options !== 'undefined') { for (let i = 0; i < ctrl.options.length; i += 1) { if (ctrl.options[i].value === value) { @@ -794,7 +800,8 @@ const UI = { getSetting(name) { const ctrl = document.getElementById('noVNC_setting_' + name); let val = WebUtil.readSetting(name); - if (typeof val !== 'undefined' && val !== null && ctrl.type === 'checkbox') { + if (typeof val !== 'undefined' && val !== null && + ctrl !== null && ctrl.type === 'checkbox') { if (val.toString().toLowerCase() in {'0': 1, 'no': 1, 'false': 1}) { val = false; } else { @@ -998,7 +1005,7 @@ const UI = { const path = UI.getSetting('path'); if (typeof password === 'undefined') { - password = WebUtil.getConfigVar('password'); + password = UI.getSetting('password'); UI.reconnectPassword = password; } @@ -1728,7 +1735,7 @@ const UI = { }, bell(e) { - if (WebUtil.getConfigVar('bell', 'on') === 'on') { + if (UI.getSetting('bell') === 'on') { const promise = document.getElementById('noVNC_bell').play(); // The standards disagree on the return value here if (promise) {