0

こんにちは私はjsp/sevletを使用してWebアプリケーションで作業しています、iframeでセッションログアウトページの問題に直面しています サンプルWebページ

セッションタイムアウトのために、親ページで次のコードを使用します

<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ページでセッションタイムアウトコードを使用すると、問題は次のようになります。 サンプルページ2

ログアウトページがiframeページ内に表示されます

この謎を解くための提案やその他の説明はありますか?私にお知らせください

4

2 に答える 2

0

最後に、Iframeの問題の解決策を見つけました

iframeから自動的に抜け出します

Iframeはインラインフレームの略です。Iframeは、Webページ内のどこにでも挿入できるフローティングフレームです。

iframeに関するWebマスターの懸念は、iframeを使用してWebサイトのページを外部サイトに含めることができることです。

あなたのウェブサイトのページが別のウェブサイトによってiframeに含まれるのをどのように防ぎますか?

次のJavaScriptコードをサイトのすべてのページの上部に配置すると、他のサイトがWebサイトのページを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>

サイト全体でiframeコードからのこのブレークアウトを実装する最良の方法は、コードを外部のjavascriptファイルに入れ、それを共通のテンプレートファイルに含めることです。

これは、この種の謎に悩まされている仲間に役立ちます。

于 2012-08-31T11:57:58.007 に答える
-1

大丈夫だと思うなら、これを試してみてください。

別のページに配置し、JSPのタグiframeを使用してそのページをメインページに含めます。include

次に、試してみてください。

実は親ページiframe とは違うものだと思います。

于 2012-08-31T10:45:56.853 に答える