2012-08-22 113 views
0

我想解決使用後退按鈕與我建立的AJAX搜索,我有點麻煩。我使用localStorage與此代碼指示由this previous questionAJAX搜索後退按鈕

// Replace the search result table on load. 
if (('localStorage' in window) && window['localStorage'] !== null) { 
    if ('myTable' in localStorage && window.location.hash) { 
     $("#myTable").html(localStorage.getItem('myTable')); 
    } 
} 

// Save the search result table when leaving the page. 
$(window).unload(function() { 
    if (('localStorage' in window) && window['localStorage'] !== null) { 
     var form = $("#myTable").html(); 
     localStorage.setItem('myTable', form); 
    } 
}); 

我有麻煩整理出如何正確地清除localStorage。通過上面的代碼,用戶可以執行搜索,點擊鏈接,點擊返回,他們的結果將被重新填充。但是,如果他們離開網站並稍後再回來或刷新搜索頁面,他們的結果仍然存在。我該如何解決這個問題?謝謝!

回答

3

像這樣的東西?

localStorage.clear(); // <-- clears all local storage for domain 

或單品

localStorage.removeItem('myTable'); 

如果你不喜歡怎樣的localStorage一直持續到由客戶端手動刪除,還sessionStorage的https://developer.mozilla.org/en-US/docs/DOM/Storage

的sessionStorage

這是一個全局對象(sessionStorage),它維護一個可用於硬盤的存儲區域頁面會話的重刑。只要瀏覽器處於打開狀態並且在頁面重新加載和恢復時存在,頁面會話就會持續。在新選項卡或窗口中打開頁面將導致啓動新的會話。

//將數據存入當前會話的一個存儲

sessionStorage.setItem("username", "John"); 

//訪問某些存儲的數據

alert("username = " + sessionStorage.getItem("username")); 

的sessionStorage的對象是掛最有用如果瀏覽器意外退回,應該保存和恢復臨時數據eshed。

+0

太棒了,謝謝! sessionStorage正是我所需要的。 – Vecta