diff options
Diffstat (limited to 'web_src/js/features/common-global.js')
-rw-r--r-- | web_src/js/features/common-global.js | 20 |
1 files changed, 19 insertions, 1 deletions
diff --git a/web_src/js/features/common-global.js b/web_src/js/features/common-global.js index a9baf9be0c..60af4d0d67 100644 --- a/web_src/js/features/common-global.js +++ b/web_src/js/features/common-global.js @@ -3,8 +3,9 @@ import 'jquery.are-you-sure'; import {mqBinarySearch} from '../utils.js'; import createDropzone from './dropzone.js'; import {initCompColorPicker} from './comp/ColorPicker.js'; +import {showGlobalErrorMessage} from '../bootstrap.js'; -const {csrfToken} = window.config; +const {appUrl, csrfToken} = window.config; export function initGlobalFormDirtyLeaveConfirm() { // Warn users that try to leave a page after entering data into a form. @@ -343,3 +344,20 @@ export function initGlobalButtons() { }); }); } + +/** + * Too many users set their ROOT_URL to wrong value, and it causes a lot of problems: + * * Cross-origin API request without correct cookie + * * Incorrect href in <a> + * * ... + * So we check whether current URL starts with AppUrl(ROOT_URL). + * If they don't match, show a warning to users. + */ +export function checkAppUrl() { + const curUrl = window.location.href; + if (curUrl.startsWith(appUrl)) { + return; + } + showGlobalErrorMessage(`Your ROOT_URL in app.ini is ${appUrl} but you are visiting ${curUrl} +You should set ROOT_URL correctly, otherwise the web may not work correctly.`); +} |