【发布时间】:2011-09-30 11:31:36
【问题描述】:
在使用 javascript 时,我在使用 Internet Explorer (IE 9) 时丢失了会话变量 window.location 函数。
我注意到之前的页面和之后的页面显示相同的会话 ID;但是 即使会话 ID 相同,重定向发生时会话变量也会丢失。 我还注意到,在 IE 中并非每次都发生这种情况,只有几次(随机)。 使用 Chrome,我没有遇到任何问题。
实时应用在这里:http://apps.facebook.com/zabeachwatch/ (当您观看视频时,它应该会超时并在一段时间后将您重定向回来。 如果您登陆注册页面,这意味着会话变量已经丢失。通过 facebook 访问页面时不应发生这种情况)
是否有其他方法可以重定向计时器事件?
下面是一个导致重定向的sn-p。(window.location...)
<%
String cat = request.getParameter("cat");
String back_url = "CameraList.jsp?cat=" + cat;
back_url = response.encodeURL(back_url);
%>
<script type="text/javascript" language="javascript">
<!--
var winW = 630, winH = 460;
function delayer(){
var s = "<%=back_url%>";
window.location.href = s;
return true;
}
<body id="images" style="background: rgb(197,204,211)
url(images/stripes.png);" onload="setTimeout('delayer()', 30000);
【问题讨论】:
-
您的 JSP 是否启用会话?
<%@ page session="true" %> -
我已经添加了这个,但没有任何区别。 (同样会话 ID 相同,但会话数据丢失) IE 确实警告“安全和非安全内容”这可能是一个原因吗?
标签: javascript html jsp servlets