私はログアウト時にいくつかの機能を使いたいと思います。ユーザーがブラウザを直ちに閉じて同じ機能を実行したい場合、100ページ以上あるのでページをアンロードすることはできません私のウェブサイトこれは、各ページAsp.netでブラウザを閉じる
からリダイレクトで動作しますので、ウィンドウにはJavaScript + jqueryのを使用して閉じたときにlogout.aspxを呼び出し
私はログアウト時にいくつかの機能を使いたいと思います。ユーザーがブラウザを直ちに閉じて同じ機能を実行したい場合、100ページ以上あるのでページをアンロードすることはできません私のウェブサイトこれは、各ページAsp.netでブラウザを閉じる
からリダイレクトで動作しますので、ウィンドウにはJavaScript + jqueryのを使用して閉じたときにlogout.aspxを呼び出し
<script type="text/javascript">
var closing = true;
$(function() {
$("a,input[type=submit]").click(function() { closing = false; });
$(window).unload(function() {
if (closing) {
jQuery.ajax({ url: "http://localhost:49591/Account/LogOff", async: false });
}
});
});
</script>
ありがとうございました。 logout.aspxページのロードイベントで何をしたいかを行います。
上記のスニペットは、マスターページのhtmlに追加する必要があります。
「ログアウト」の場合、ボタンを使用できます。
残念ながら、ユーザーがブラウザを閉じると通知される信頼できる方法はありません。あなたが望んでいないと言ったクライアント側のページ・アンロードを除けば、唯一の選択肢は、定期的なAjaxベースのポーリングです。どちらも醜く悪名高く信頼できない。
一般に、サーバー側のタイムアウトは、より良いアプローチです。
いくつかのコードサンプルを教えてください。 – Prorammer81
これはGlobal.asaxのSession_OnEndの目的ではありませんか?
このイベントは、ブラウザが閉じても発生しません。
Session_OnEndは常に信頼できるわけではなく、InProcセッションモードでのみ起動します – JonoW
OK、(痛い)レッスンありがとう;-) –
できません。 –
ブラウザの終了を検出することは、asp.netとは関係ありません。それはクライアント側のことです。 –