我正在使用Spring MVC Web应用程序。在应用程序中,我在用户点击按钮(window.open
)上使用<a>
打开一个新窗口。当窗口打开时,我可以访问由父窗口创建的会话。在新窗口中,我使用session.setAttribute("examsetting", Setting);
创建另一个会话。
当用户点击关闭链接(<a>
)时,在子窗口上我写了以下JQ:
$("#closeBtn").click(function(e) {
e.preventDefault();
if (window.opener && !window.opener.closed)
{
window.opener.location.href = $(this).attr('href');
window.close();
}
else
{
window.location.href = $(this).attr('href');
}
});
此代码将检查此孩子的开场白是否仍然开放;如果没有在子项本身上加载URL,则在父窗口上加载URL。
当用户点击关闭链接时我想关闭这个子窗口(如果父关闭没有关闭)做一些计算从会话中获取值(在子打开时创建),但是一些客户端面临问题,其中子窗口获取关闭但在父窗口出现错误屏幕时,我检查了错误日志,我在访问会话的行上找到java.lang.NullPointerException
(在孩子打开时创建)。
我试图在我身边生成相同的场景,但我失败了,你知道有什么吗?在子窗口上创建的会话是在window.close
或某个特定浏览器上关闭的吗?