会话丢失了window.location.href

时间:2012-07-17 16:15:12

标签: javascript html session

我正在尝试将用户重定向到另一个页面宽度:

window.location.href = "url here" //relative link

但是当我这样做时,它会清除我的sessvars.keyPageArray变量。有人知道如何在重定向后保留会话变量吗?

这是我正在使用的sessvars库: http://www.thomasfrank.se/sessionvars.html

更新:我使用谷歌浏览器调试器,我的脚本实际上工作。出于某种疯狂的原因,它只有在我通过变量监视变量时才有效,但是当我在没有启用调试器的情况下正常运行它时却不行吗?为什么会这样?

4 个答案:

答案 0 :(得分:4)

仅仅因为你命名变量sessvars并不是这样。根据您的需要,使用localStoragesessionStorage或Cookie。

当浏览器导航到另一个页面时,所有javascript上下文都会被卸载并丢失。

使用localStorage的示例:

window.onbeforeunload = function() {
    localStorage.setItem( "session", JSON.stringify( window.sessvars) );
};

window.onload = function() {
    window.sessvars = JSON.parse( localStorage.getItem( "session") || "{}" );;
};

答案 1 :(得分:2)

会话位于服务器端

与浏览器无关。

答案 2 :(得分:0)

JavaScript不会在页面关闭,打开其他页面或甚至刷新后保留数据。 最终,您可以将数据存储在cookie中。

答案 3 :(得分:0)

导致问题的一个重要原因是在server / phptmp目录中不存在或没有写入权限。