【问题标题】:javascript window.location and IE session variables are lostjavascript window.location 和 IE 会话变量丢失
【发布时间】: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 是否启用会话? &lt;%@ page session="true" %&gt;
  • 我已经添加了这个,但没有任何区别。 (同样会话 ID 相同,但会话数据丢失) IE 确实警告“安全和非安全内容”这可能是一个原因吗?

标签: javascript html jsp servlets


【解决方案1】:

我发现“window.location.href”在 INTERNET EXPLORER 中无法正常工作 8 和 9。

对我有用的另一种方法是将元标记“刷新”与其他一些标记一起使用 得到相同结果的逻辑。就我而言,这是一个简单的超时功能。

&lt;meta http-equiv="refresh" content="60"/&gt;

祝你好运

【讨论】:

    猜你喜欢
    • 2011-11-08
    • 1970-01-01
    • 2011-04-15
    • 2011-12-05
    • 2011-03-09
    • 2012-10-18
    • 2019-07-09
    • 2012-01-10
    相关资源
    最近更新 更多