如何在页面之间移动时重置变量状态(特定于Chrome)?

时间:2014-09-11 02:17:29

标签: javascript google-chrome html5-history

我正在使用html5历史API。当我单击指向新页面的链接,然后单击后退按钮。我看到在页面加载之间保持状态的变量。

示例:

(function(namespace){
    var singlePageSessionId = 0;
    singlePageSessionId = new Date().getTime();

    namespace.SinglePageSessionId = function(){
        return singlePageSessionId; 
    }
}(window.namespace = window.namespace || {}))

每个实际页面加载应该设置一次singlePageSessionId变量。但是当我单击后退,然后检查namespace.SinglePageSessionId的值时,它会保留我第一次导航到站点时的时间戳。由于我重新执行javascript,我希望重置变量。

我或者对javascript引擎在页面之间的工作方式有一个基本的误解,或者这里有一些奇怪的行为。

有没有办法确保变量重置?

1 个答案:

答案 0 :(得分:0)

我努力了多少我无法重现你所说的问题。 在当地我完全没有问题回去并获得新的价值。 这就是我所做的http://jsfiddle.net/itaymer/bqg3azx8/

(function(namespace) {
    var singlePageSessionId = new Date().getTime();

    namespace.SinglePageSessionId = function(){
        return singlePageSessionId; 
    }
}(window.namespace = window.namespace || {}));

document.querySelector(".pageSessionId").innerHTML = window.namespace.SinglePageSessionId();

也许您未能提供整个情况信息?