2011-09-30 120 views
1

當我使用IE瀏覽器(IE 9)時,我使用javascript window.location函數丟失會話變量。javascript window.location和IE會話變量丟失

我注意到頁面前和頁面後顯示相同的會話ID;但即使會話標識相同,重定向發生時會丟失會話變量 。 我也注意到,這並不是每次都在IE中發生,只有一些時間(隨機)。使用Chrome我沒有遇到任何問題。

的現場應用是在這裏:。http://apps.facebook.com/zabeachwatch/ (當您查看視頻應該超時和重定向你回來經過一段時間後 如果您在註冊頁面上登陸了,這意味着會話變量有當通過Facebook訪問頁面時,不應該發生這種情況)

是否有其他方式可以重定向計時器事件?

下面是導致重定向片段。(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); 
+0

請問你的JSP使會話? '<%@ page session =「true」%>' –

+0

我已經添加了這個,但沒有任何區別。 (再次會話ID是相同的,但會話數據丟失) IE做了警告「sucure和非安全內容」這可能是一個原因嗎? – Wayne

回答

0

我發現,與INTERNET EXPLORER 預期 「window.location.href」 不工作8和9.

另一種適用於我的方法是使用元標記「refresh」和其他一些邏輯來獲得相同的結果。在我的情況下,這是一個簡單的超時功能。

<meta http-equiv="refresh" content="60"/>

好運