검색 필터 (텍스트 상자 및 체크 상자)가있는 작은 웹 사이트를 만들려고합니다. 나는 주변을 수색하여 과거 검색 필터를 기억하는 방법은 새로 고친 후에 만 세션 저장 공간을 사용한다는 것을 알았습니다.검색 매개 변수를 기억하고 있습니다.
그러나 문제는 사용자가 웹 사이트를 둘러보고 검색 페이지로 돌아 오더라도 과거 검색 필터를 계속 볼 수 있다는 것입니다. 사용자가 다른 페이지에서 왔을 때 검색 필터를 재설정하고 싶습니다.
사용자가 페이지를 떠난 후 세션 저장소에 저장된 변수를 제거하고 사용자가 새로 고칠 때만이 변수를 유지하는 방법에 대해 생각하고 있습니다.
내 현재 코드는 다음과 같이 진행됩니다
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);
}
사용자가 검색을 떠난 뒤 내가 세션 스토리지 내부의 변수를 삭제할 수 있습니다 방법으로 도와주세요. 감사!
사용자가 어디에서 왔는지 확인하려면'document.referrer '를 사용하고 미리 정의 된 사이트를 방문했을 때 양식을 재설정하지 말아야합니다. – RononDex
@RononDex 나쁜 생각은 아니지만 모든 브라우저/서버가 referrer 속성을 설정하지는 않습니다. . – War10ck
document.referrer의 문제점은 REFRESH에서 "값"은 현재 페이지가 아닌 사용자가 왔던 마지막 페이지 인 것입니다. – user3286528