From d24008f863730b7aa52758df11f605e01941eaa2 Mon Sep 17 00:00:00 2001 From: Henrik Karlsson Date: Mon, 23 Nov 2020 17:41:37 +0100 Subject: Update redirects to replace the url rather than navigate to a new one Current links from outside (like the wiki) will cause excess history entries when clicking the https://help.libreoffice.org/ link, breaking the back button. See the example of the visited pages below. Ideally only the referring page and the final page should be in the history, allowing the user to navigate back. 1. https://help.libreoffice.org/Main_Page 2. https://help.libreoffice.org/ - 302 redirect 3. https://help.libreoffice.org/help.html - window.location.href 4. https://help.libreoffice.org/latest/index.html - window.location.href 5. https://help.libreoffice.org/latest/en-US/text/shared/05/new_help.html?&DbPAR=WRITER&System=UNIX The second 302 redirect is fine as it simply replaces the history. The two window.location.href assigments however should be replaced with window.location.replace. Change-Id: I6fbe7141de87c939aa816fdfc2fe5255e9792e0b Reviewed-on: https://gerrit.libreoffice.org/c/help/+/106429 Tested-by: Jenkins Reviewed-by: Olivier Hallot (cherry picked from commit e95e2a6d94ac5c08d3821f3da198a7982b7d0af8) Reviewed-on: https://gerrit.libreoffice.org/c/help/+/106680 Reviewed-by: Adolfo Jayme Barrientos --- help3xsl/help.html | 4 ++-- help3xsl/index2.html | 6 +++--- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/help3xsl/help.html b/help3xsl/help.html index df4885a674..8ee3510cf6 100644 --- a/help3xsl/help.html +++ b/help3xsl/help.html @@ -36,9 +36,9 @@ var version = getParameterByName("Version", url); var query = url.substr(n + 1, url.length); var newURL = version + '/index.html?' + query; - window.location.href = newURL; + window.location.replace(newURL); } else { - window.location.href = 'latest/index.html'; + window.location.replace('latest/index.html'); } diff --git a/help3xsl/index2.html b/help3xsl/index2.html index 5e937f3e2c..f0585c8b8f 100644 --- a/help3xsl/index2.html +++ b/help3xsl/index2.html @@ -42,7 +42,7 @@ } //Special case of application F1 or menu Help -> LibreOffice Help if (target.indexOf('.uno:HelpIndex') != -1) { - window.location.href = lang + '/' + defaultFile + '?System=' + system + '&DbPAR=' + module; + window.location.replace(lang + '/' + defaultFile + '?System=' + system + '&DbPAR=' + module); } var bookmark = target.slice(target.indexOf('/') + 1, target.length); var file = hid2fileMap[bookmark]; @@ -60,13 +60,13 @@ file = file.substr(0,indx); var newURL = lang + '/' + file + '?System=' + system + '&DbPAR=' + module + '&HID=' + bookmark + bm; } - window.location.href = newURL; + window.location.replace(newURL); } else { // URL came from elsewhere, direct access to webroot, we redirect to main Help page var system = 'WIN'; if (navigator.userAgent.indexOf("Mac") != -1) system = 'MAC'; if (navigator.userAgent.indexOf("Linux") != -1) system = 'UNIX'; - window.location.href = existingLang(navigator.language) + '/text/shared/05/new_help.html?&DbPAR=WRITER&System=' + system; + window.location.replace(existingLang(navigator.language) + '/text/shared/05/new_help.html?&DbPAR=WRITER&System=' + system); } }); -- cgit