Example:
在主页中单击一个按钮(新),
然后页面将使用 Javascript
在新窗口中打开新页面
调用重定向 Page()。
在主页中单击一个按钮(退出),
然后页面然后会调用
确认退出(),然后
closeChildWindows() 关闭所有
在重定向到之前弹出新窗口
另一个新页面。
但是,JS 变量
(childWindowHandles) 将始终
如果刷新主页则重置,
这会导致页面无法
之前关闭所有其他弹出窗口
退出按钮被重新定位
点击了
有谁知道我该如何解决这个问题?即使主页正在刷新,也能保留 JS 变量(childWindowHandles)吗?
var childWindowHandles = new Array();
function redirectPage(url)
{
childWindowHandles[childWindowHandles.length] = window.open(url)
}
function confirmExit(url)
{
closeChildWindows()
window.location=url
}
function closeChildWindows()
{
for (var loop=0; loop<childWindowHandles.length; loop++)
{
if (!childWindowHandles[loop].closed)
{
childWindowHandles[loop].close();
}
}
}
您可以使用cookies https://developer.mozilla.org/en/DOM/document.cookie坚持价值观...
Edit:您可能会发现我使用的一个简单对象很有用:
Usage:
// Store a key/value for 1 day:
cookieManager.set('name', 'a value', 1);
// Retrieve a value associated to a key:
var value = cookieManager.get('name');
// Remove a key/value:
cookieManager.remove('name');
执行:
var cookieManager = {
set: function (name, value, expireDays) {
var expireDate = new Date();
expireDate.setDate(expireDate.getDate() + expireDays);
document.cookie = name + "=" + escape(value) +
((!expireDays) ? "" : ";expires="+expireDate.toGMTString());
},
get: function (key) {
var start,end;
if (document.cookie.length > 0) {
start = document.cookie.indexOf(key + "=");
if (start != -1) {
start = start + key.length + 1;
end = document.cookie.indexOf(";",start);
if (end == -1) {
end = document.cookie.length;
}
return unescape(document.cookie.substring(start,end));
}
}
return "";
},
remove: function (key) {
this.set(key, '', -1);
}
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)