清除退出浏览器的数据

时间:2014-04-16 09:24:23

标签: durandal

我正在使用Durandal。当我第一次加载页面时,然后我加载网格并填充数据。从网格中选择一些内容并显示细节。现在我退出浏览器并再次使用相同的链接返回。然后我可以看到它重新加载上次在退出浏览器之前选择的旧数据。我希望在浏览器关闭时清除该数据。我尝试创建了deactivate函数并返回viewmodel

function deactivate(){
 // clean up code
}

但我不知道究竟在哪里调用此函数来清除数据。或者还有其他方法吗?

UPDATE1

很抱歉,我的意思是数据不会在关闭浏览器时记住,但如果我导航到网站上的其他页面,然后再次返回同一页面。

2 个答案:

答案 0 :(得分:0)

这可能有助于你试试这个!

Click& Clean允许您在Chrome关闭时清除浏览数据,您可以将此功能添加到Google Chrome浏览器的浏览器中: https://chrome.google.com/extensions/detail/ghgabhipcejejjmhhchfonmamedcbeod

如果您手动清除所有缓存和历史记录,那么您也无法看到上一页。这可能取决于浏览器而不是您的网站程序!

答案 1 :(得分:0)

添加签名为"取消激活"在视图停用时,您的viewmodel和Durandal将使用内置功能调用此函数(来源:http://durandaljs.com/documentation/Hooking-Lifecycle-Callbacks)。在该函数中,您将要设置将数据保持为未定义的observable。

define([],
function () {

    var vm = {
        //#region Initialization.        
        activate: activate,
        attached: attached,
        deactivate: deactivate,
        //#endregion

        //#region Properties.
        data: ko.observable(),
        //#endregion

        //#region Methods.
        //#endregion
    };

    return vm;

    //#region Internal methods.
    function activate() {
        return true;
    }

    function attached() {
        // Fetch your data.
        return true;
    }

    function deactivate() {
        vm.data(undefined);
        return true;
    }
    //#endregion
});