2012-07-17 595 views
1

我试图将用户重定向到另一个页面宽度:会话丢失window.location.href

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

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

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

更新:我使用谷歌浏览器的调试器和我的脚本实际上做的工作。由于一些疯狂的原因,只有当我通过变量监视变量时才起作用,但是当我没有调试器时只是简单地运行它就不行了?为什么会发生?

+0

什么是'sessvars'? – 2012-07-17 16:23:08

+0

我在OP中发布了库文件。我也有一个更新。真的很奇怪,正在发生。 – user1410668 2012-07-17 18:12:53

回答

4

仅仅因为你命名了一个变量sessvars并没有如此。根据您的需要使用localStoragesessionStorage或cookies。

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

示例使用localStorage

引起的问题
window.onbeforeunload = function() { 
    localStorage.setItem("session", JSON.stringify(window.sessvars)); 
}; 

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

虽然我使用sessvars库。我认为这可以让你创建没有cookie的会话变量?这里是一个链接: http://www.thomasfrank.se/sessionvars.html – user1410668 2012-07-17 17:34:32

+0

@ user1410668似乎非常hacky和最近更新4年前。 – Esailija 2012-07-17 17:39:41

+0

我明白了。这只是他们正在使用的东西。我只是一名实习生,所以我甚至不确定自己有能力决定是否想使用别的东西。它似乎适用于某些例子,他们通过使用sessvars数组 – user1410668 2012-07-17 17:44:25

2

会话位于服务器端

与浏览器无关。

0

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

0

一个重要的事情是,当在服务器/ phptmp目录不存在或没有写权限。