Javascript 记忆搜索参数

Javascript 记忆搜索参数,javascript,jquery,Javascript,Jquery,我正在尝试制作一个带有搜索过滤器、文本框和复选框的小网站。我四处搜索,发现只有在刷新后才能记住以前的搜索过滤器的方法是使用会话存储 然而,问题是,即使用户浏览网站并返回搜索页面,他/她仍然会看到过去的搜索过滤器。我想在用户来自不同页面时重置搜索过滤器 我正在考虑和搜索如何在用户离开页面后删除存储在会话存储中的这些变量,并仅在用户刷新时保留这些变量 我当前的代码如下所示: var selectedCompanies = new Array; var selectedCategories = new

我正在尝试制作一个带有搜索过滤器、文本框和复选框的小网站。我四处搜索,发现只有在刷新后才能记住以前的搜索过滤器的方法是使用会话存储

然而,问题是,即使用户浏览网站并返回搜索页面,他/她仍然会看到过去的搜索过滤器。我想在用户来自不同页面时重置搜索过滤器

我正在考虑和搜索如何在用户离开页面后删除存储在会话存储中的这些变量,并仅在用户刷新时保留这些变量

我当前的代码如下所示:

var selectedCompanies = new Array;
var selectedCategories = new Array;
var searchWord = "";

if(sessionStorage.getItem('selectedCompanies') != null){
    selectedCompanies = JSON.parse(sessionStorage.getItem('selectedCompanies'));
    alert("NOT NULL!");
    //loop to recheck checkboxes 
}
if(sessionStorage.getItem('selectedCategories') != null){
    selectedCategories = JSON.parse(sessionStorage.getItem('selectedCategories'));
    //loop to recheck checkboxes
}
if(sessionStorage.getItem('searchWord') != null){
    searchWord = sessionStorage.getItem('searchWord');
    $('#filter-searchbar').val(searchWord);
}

请帮助我在用户离开搜索页面后如何删除会话存储中的变量。谢谢

在公共JavaScript文件中添加以下代码。在除搜索页面外的所有页面上引用此文件:

sessionStorage.removeItem('selectedCompanies');
sessionStorage.removeItem('selectedCategories');
sessionStorage.removeItem('searchWord');

这将清除所有其他页面上的搜索参数,但允许数据保留在搜索页面上。

您可以使用document.referer检查用户来自何处,如果用户来自预定义的页面,则不会重置表单site@RononDex好主意,但并非所有浏览器/服务器都设置了referrer属性。document.referrer的问题在于,在刷新时,它的值仍然是用户来自的最后一页,而不是当前页面page@user3286528没问题。如果对你有用,别忘了把它标记为答案。