使用jsp / servlet在iframe中发布会话注销页面问题

时间:2012-08-31 10:36:23

标签: java jquery jsp iframe session-timeout

您好我正在使用jsp / sevlet在Web应用程序中工作,我正面临iframe中的会话注销页面问题 sample web page

我在父页面中使用以下代码进行会话超时

<script type="text/javascript">
    idleTime = 0;
    $(document).ready(function () {
        //Increment the idle time 2ounter every minute.
        var idleInterval = setInterval("timerIncrement()", 60000); // 1 minute

        //Zero the idle timer on mouse movement.
        $(this).mousemove(function (e) {
            idleTime = 0;
        });
        $(this).keypress(function (e) {
            idleTime = 0;
        });
    })
    function timerIncrement() {
        idleTime = idleTime + 1;
        if (idleTime == 15) { // 15 minutes
           window.location = "logoutPage.jsp"
        }
    }
</script>​​​​​​​​​​​​​​​​​​​​

我面临的问题是,如果进程超出了我的iframe页面中的会话时间限制,那么父页面就是idel,因此它会自动退出

在其他情况下,如果我在我的iframe页面中使用会话超时代码,则问题是 sample page 2

注销页面将进入iframe页面

解决这个谜团的任何建议或其他解释? 请让我知道

2 个答案:

答案 0 :(得分:0)

最后我找到了iframe问题的解决方案

自动退出iframe

iframe代表内联框架。 Iframe是一个浮动框架,可以插入网页中的任何位置。

关于iframe的网站管理员关注的是,iframe可用于将您网站上的网页包含在外部网站中。

如何阻止您网站上的网页被其他网站通过iframe包含在内?

将以下javascript代码放在您网站上所有网页的顶部,可以确保如果您的网站上有任何其他网站iframe页面,那么您的网页将会突破iframe并只在用户浏览器中显示您的网页。

<script type="text/javascript">
<!--
    if (top.location!= self.location) {
        top.location = self.location.href
                   //or you can use your logout page as
                   //top.location='logout.jsp' here...
    }
//-->
</script>

在整个网站上实现此iftle代码的最佳方法是将代码放入外部javascript文件中,并将其包含在通用模板文件中。

这对于那些充满了这种神秘感的伙伴来说非常有用.....

答案 1 :(得分:-1)

如果您认为可以,请尝试此操作。

iframe放在另一个页面中,并使用JSP的include标记在主页中包含该页面。

然后试试看。

我实际上认为iframe 与父页面保持不同的