jsp 使用window.close()一个窗口时会弹出“您查看的网页正试图关闭选项卡……”
现在的需求是不弹出该窗口,同时在调用该方法时清空session的值,我是这么实现的:
在top.jsp文件中
<span class="span05"><a href="javascript:logout();" title="退出系统">退出系统</a> </span>
logout()方法如下:
function logout() { if( confirm("真的要退出系统吗?") ) { window.location.href="<%=request.getContextPath()%>/framework/session.jsp"; } }
session.jsp文件内容如下:
<script type="text/javascript"> function init(){ removeSession(); 1. window.parent.open('','_parent',''); 2. window.parent.top.opener= null; 3. window.parent.close(); } 4. function removeSession(){ 5. <%request.getSession().invalidate();%> } </script> </head>
<body οnlοad="init();">
</body>
这样做的时候,session.jsp在调用时清空session的值,1、2、3这三行代码目的是不弹出窗口,将这三行代码如果放在top.jsp中则无法调用session.jsp这个文件,4、5这部分的代码是为了使session的值过期,如果放在top.jsp中,那么当这个页面被打开时,这段话就会执行,session 里面将没有值。
最后很好的满足了我的需求
转载请注明原文地址: https://ibbs.8miu.com/read-2205955.html