2014-09-25 74 views
0

當導航離開當前頁面時,是否有可能以某種方式清除localStorage值。如何僅將本地存儲用於當前頁面。在jquery

我想保存在localStorage變量上的頁面的scrollTop值,並使用它滾動到該點,在頁面刷新。

但是,如果我去了不同的頁面,我想localStorage的值再次設置爲空。

有沒有簡單的方法可以讓我做到這一點

UPDATE

新增通過Blaze provied給我的腳本和它發生錯誤

腳本

答案
$(document).on('vclick','#outerPage',function(e){ 
    // alert('yo i am clickable now'); 
    var parentOffset = $(this).parent().offset(); 
    //or $(this).offset(); if you really just want the current element's offset 
    var relX = e.pageX - parentOffset.left; 
    var relY = e.pageY - parentOffset.top; 
    // localStorage.setItem("scrollPosition", relY); 
    //storePosition.topCoordinate = relY; 
    //alert(relY); 
    obj = JSON.parse(localStorage.getItem('scrolls')); 
    obj[location.pathname] = relY; 
    localStorage.setItem('scrolls', JSON.stringify(obj)); 
    console.log(localStorage.getItem("scrolls")); 
}); 

錯誤

Uncaught TypeError: Cannot set property '/url.html' of null 

感謝&問候

回答

1

只需使用卸載功能使用jQuery jquery/unload

在卸載功能,只需清除localStorage的

localStorage.clear(); 
+0

我試着這也是兄弟,但福nction不被稱爲:(。我的意思是我使用unload() – Vikram 2014-09-25 13:40:33

+0

@Blazemonger,但我沒有完全使用JQuery移動版的一些Jquery CSS完全正常的網站的佈局。所以,當我點擊鏈接時,它會打開不同的網址,據推測你的想法應該可行。 – Vikram 2014-09-25 13:52:40

+1

也許就在您打開網址之前,您只需清除本地存儲。 – dpfauwadel 2014-09-25 14:45:22