如何从多个过去的JavaScript页面获取字符串URL

如何从多个过去的JavaScript页面获取字符串URL,javascript,referrer,history.js,Javascript,Referrer,History.js,我对JavaScript非常陌生。我正在尝试制作一个web应用程序,其中一个简单的后退按钮将转到我要查找的特定页面,其中包含“搜索”一词。我不知道确切的URL,因为URL中的参数会发生变化,我需要让它与用户想要的保持一致。但是这一个按钮应该返回到那一页,而不管点击了其他链接。 例如: 如果我点击 Home Page Main Page Page 1 Page 1.3 Back 我希望后面总是带我到主页与确切的参数,它之前有,而不是主页 我尝试了以下方法: 按钮本身 movieTableBody

我对JavaScript非常陌生。我正在尝试制作一个web应用程序,其中一个简单的后退按钮将转到我要查找的特定页面,其中包含“搜索”一词。我不知道确切的URL,因为URL中的参数会发生变化,我需要让它与用户想要的保持一致。但是这一个按钮应该返回到那一页,而不管点击了其他链接。 例如: 如果我点击

Home Page
Main Page
Page 1
Page 1.3
Back
我希望后面总是带我到主页与确切的参数,它之前有,而不是主页

我尝试了以下方法: 按钮本身

movieTableBodyElement.append('<a href="#" onclick="javascript:goBackHelper();">' + " << Back" + '</a>'); // Building the HTML button, calls the goBackHelper() function
但这让我进入了第一个主页。我以为document.referer会给我过去的URL,但它似乎不适合我。有没有办法从过去的页面获取URL?所以,如果我在第2页,我可以得到所有的网址和搜索主页吗?非常感谢您的帮助


我也是新的堆栈溢出,所以如果有任何澄清,请不要犹豫让我知道

文档。referer
并非在所有情况下都与实际URL相同

您最好将URL存储在
sessionStorage

将此代码片段添加到页面:

if (sessionStorage.getItem("locationHistory") !== null) {
    var locationHistoryArray = JSON.parse(sessionStorage.getItem("locationHistory"));
    locationHistoryArray.push(window.location.href);
    sessionStorage.setItem("locationHistory", JSON.stringify(locationHistoryArray));
} else {
    var locationHistoryArray = [];
    locationHistoryArray.push(window.location.href);
    sessionStorage.setItem("locationHistory", JSON.stringify(locationHistoryArray));
}
这是您的
goBackHelper()
函数:

function goBackHelper() {
    var searchString = 'search'; //modify this
    var locationHistoryArray = JSON.parse(sessionStorage.getItem("locationHistory"));
    for (i = 0; i < locationHistoryArray.length; i++) {
        if (locationHistoryArray[i].includes(searchString)) {
            window.location.assign(locationHistoryArray[i]);
            break;
        }
    }
}
函数goBackHelper(){
var searchString='search';//修改此
var locationHistoryArray=JSON.parse(sessionStorage.getItem(“locationHistory”);
对于(i=0;i

阅读
文档。推荐人

感谢您的回复!当你说“将这段代码添加到你的页面”时,你会说什么?它会在每个网页的每个Web Servlet中吗?还是每个页面的JS文件?@OscarLopez,我建议用代码创建一个JS文件,并将其包含在每个页面中。
function goBackHelper() {
    var searchString = 'search'; //modify this
    var locationHistoryArray = JSON.parse(sessionStorage.getItem("locationHistory"));
    for (i = 0; i < locationHistoryArray.length; i++) {
        if (locationHistoryArray[i].includes(searchString)) {
            window.location.assign(locationHistoryArray[i]);
            break;
        }
    }
}