我有一个具有“父”窗口的应用程序。在父窗口中有菜单项,如下所示(使用PHP这里):使用Javascript的持久数据
// sample link
echo "<li><a href=\"#\" onclick=openurl('covershift.php');>Shift Coverage</a></\
li>";
// logout link
echo "<li><a href=\"#\" onclick=openurl('logout');>Logout</a></li>";
每个链接打开相应的页面在不同的“孩子”窗口。父母关闭所有子窗口时必须关闭。我已经实现用javascript这个功能,这里是功能:
var childWindow = new Array();
var windowCount = 0;
function openurl(url)
{
if(url != 'logout') {
childWindow[windowCount]=window.open(url,'_blank','height=600,width=800,scr\
ollbars=1');
windowCount++;
if (window.focus) {
childWindow.focus();
}
} else {
var iCount;
for (iCount=0; iCount < windowCount; iCount++) {
if ((childWindow[iCount] != null) && !(childWindow[iCount].closed)) {
childWindow[iCount].close();
}
}
window.location='logout.php';
}
}
这里是我的问题,当用户重新加载父窗口,然后点击退出,子窗口继续开放。这是有道理的,因为child重新加载时,childWindow数组会丢失。
如何使childWindow数组通过重新加载持久化?
谢谢!
乔纳森, 感谢您的及时答复。两种解决方案都有其优点。第一个很好,因为它只需要在一个地方进行修改。我可以预见的第一个解决方案唯一的问题是,用户可能想要保留他们的数据在子窗口上,并重新加载父窗口。由于用户行为,第二种解决方案可能不起作用。我的应用程序的用户因为单击按钮而臭名昭着,因此可能会意外关闭父母并用错误报告给我打电话:-)。如果没有办法使数据持续存在,我会选择1.谢谢! – 2010-02-12 23:42:16