8

MenuItemMasterPage をクリックして新しい aspx ページを開くと、MasterPage から、MasterPage とコンテンツ ページを含む ASP.NET Web アプリがあります。新しいページのブラウザー タブを閉じたい場合は、ユーザーがブラウザー タブを閉じていることを警告するポップアップまたはダイアログを表示したいと考えています。browserTab を閉じるボタンを検出する方法がわかりません。新しい aspx ページで次のコードを使用しました。

<script type="text/javascript">
    function CloseWindow() {
        alert('closing');
        window.close();
    }
</script>

新しいページ コード ビハインド:

protected void Page_Load(object sender, EventArgs e)
{
    Page.ClientScript.RegisterOnSubmitStatement(typeof(Page), "closePage", "window.onunload = CloseWindow();");
}

アドバンテージに感謝します。

4

5 に答える 5

4

これは完璧に機能します。

javascript はブラウザのタブを閉じる/ブラウザを閉じることを検出します

<body onbeforeunload="ConfirmClose()" onunload="HandleOnClose()">

var myclose = false;

function ConfirmClose()
{
    if (event.clientY < 0)
    {
        event.returnValue = 'You have closed the browser. Do you want to logout from your application?';
        setTimeout('myclose=false',10);
        myclose=true;
    }
}

function HandleOnClose()
{
    if (myclose==true) 
    {
        //the url of your logout page which invalidate session on logout 
        location.replace('/contextpath/j_spring_security_logout') ;
    }   
}
于 2013-09-10T18:01:01.530 に答える
1

私はこれに多くの問題を抱えていましたが、機能するのはjavascriptからの「window.onbeforeunload」イベントだけですが、問題はこれが予想よりも多く実行されることです。基本的に、マスターページなどで作業している場合、それはできないと思います。

別の方法でアプローチするのが最善だと思います。そうしないと、締めくくりのメッセージが頻繁に表示されるからです。

于 2013-11-11T10:23:47.797 に答える
0

これは、ページで JavaScript を使用して処理できます。
最初に関数を作成します。

function closeMessage() {
    return "Are you sure you want to leave this page";
}

その後、このメソッドを割り当てます。

window.onbeforeunload = closeMessage;

役に立ったかどうか教えてください

于 2013-05-16T18:08:39.453 に答える
0

ブラウザーを閉じるためのイベントをキャッチし、それを使用してやりたいことを実行する必要があります。これが私のために働いたコードです。

        <script type="text/javascript">
          window.onbeforeunload = function (e) {
               var e = e || window.event;
               if (e) e.returnValue = 'Browser is being closed, is it okay?';//for IE & Firefox
               return 'Browser is being closed, is it okay?';// for Safari and Chrome
           };
        </script>

お役に立てれば..

于 2013-05-17T11:28:18.860 に答える