• ベストアンサー

Webウィンドウの×イベントを拾う方法を教えてください。

dw3wの回答

  • ベストアンサー
  • dw3w
  • ベストアンサー率63% (14/22)
回答No.2

プロトコルから考えると、HTTPはステートレスの通信なのでクライアントとサーバーの接続は一回ごとに独立しています。 クライアント(ブラウザ)がWWWサーバーにページ(ASP)を要求 ↓ WWWサーバーが処理を行い結果(HTML)を返却 これで終わりです。 という事で、WWWサーバー側ではブラウザに対してレスポンスを返却したあとは、そのブラウザが閉じられたことを知るすべはありません。 ただ、ブラウザがWWWサーバーに通信を要求し、処理を返す前に閉じられてしまった場合のみは、Response.IsClientConnectedプロパティで参照できます。 そうでなく、例えば、ブラウザのページを見ているユーザーが、次のページを要求することなくブラウザを終了したことを知る必要があれば、JavaアプレットやクライアントサイドのActiveX、あるいはFlashなどを使って通信を監視する必要があります。 なので、セッションを開放するのはセッションがタイムアウトするのを待つよりありません。ちなみに、Session_OnEndイベントが発生するのはセッションがタイムアウトして破棄された場合だったと思います。

sho-go
質問者

お礼

詳しいご説明まことにありがとうございました。

関連するQ&A

  • 別コントロールのサーバ側イベントに来てしまう

    ASP.NET4.0で、WEBシステムを開発しています。 デスクトップアプリの経験はありますが、WEBの経験はあまりないです。 TextBoxのTextChangedイベントハンドラを作成し、AutoPostBack=trueにして、 サーバ側で処理するようにしているのですが、その際、なぜかその近くに配置している ボタンのClickイベントハンドラにも来てしまっています。 VisualStudio2010でデバックして発覚しました。 それぞれ、別々のUpdatePanelで囲っています(UpdateMode=Conditional)。 PostBack時、押してもいないボタンのClickイベントに来てしまうようなことがあるのでしょうか。 (Enterキー押下で何か発生している?) UpdatePanelを使ってページを作成する際、注意点などはありますでしょうか。 よろしくお願いします。

  • アクションイベントを起こしたい

    JButtonを設置して、 ボタンを押したときに、 何かする方法はわかります。 例えば、ボタンを押したときではなくて、 ほかの処理と連動させて、 プログラムからアクションイベントを起こすにはどうしたらいいのでしょう? Delphiでしたら、たとえば Buttton1.click; でいいんですが・・・・。

    • ベストアンサー
    • Java
  • ボタンを押してセッション変数を保存できるでしょうか

    レガシーASPにてWebのページを作っております。 押したリンク(ボタン)によって異なる値をセッション変数に保存したいのですが、 この様な事は可能でしょうか? OnClickイベントはJavascriptですし、 Session.Contents("~")はVBSですので、 JavascriptからVBSを呼べるか? という質問になってしまうのでしょうか。

  • VB2005でASP.NETを使用してwebサイトを作成しております。

    VB2005でASP.NETを使用してwebサイトを作成しております。 ボタンをクリックした際、ラベルに「処理中」などを表示させて DB更新などの処理を行い、終了後に「終了」などをラベルに表示したく 設定を行っているのですが画面に反映されません。 ボタンクリックイベントの終了のタイミングでラベルの内容が表示されます。 webなのでサーバー側で処理し結果をHTML?でクライアントに返してブラウザ表示している仕様上、 処理途中のラベルの値をクライアント側に反映することはできないのでしょうか??

  • イベントビューアーが使えない

    [イベント ビューアー] を開くには、[スタート] ボタン [スタート] ボタンの画像、[コントロール パネル]、[システムとセキュリティ]、[管理ツール] の順にクリックし、[イベント ビューアー] をダブルクリックします。‌ 管理者のアクセス許可が必要です 管理者のパスワードまたは確認を求められた場合は、パスワードを入力するか、確認情報を提供します。 2.左のウィンドウでイベント ログをクリックします。 3.イベントをダブルクリックしてイベントの詳細を表示します。 http://windows.microsoft.com/ja-jp/windows/what-information-event-logs-event-viewer#1TC=windows-7 と説明にあるのですが、「システムとセキュリティ」が見つかりません。

  • ブラウザ閉じるボタンの押下後もセッションを破棄させてプログラムを終了させたい

    開発環境 Visual Studio 2008 Professional Edition Visual Basic 2008 .NET Framework 3.5 SP1 ASP.NETを利用してWebページを作成しています。 現在、Webページにログアウトボタンを配置し、そのボタンを押して ログインページへ遷移する前にセッションの破棄をさせています。 ブラウザ閉じる(×)ボタンの押下後もセッションを破棄させ、 その後、プログラムを終了させたいのですがどのようにすればいいのでしょうか? 尚、現在はブラウザ閉じる(×)ボタンの押下後、セッションの破棄がされずプログラムも終了しません。 よろしくお願いします。

  • TextChangeイベントが発生しない

    ASP.NETで開発を行っています。 クライアント側の処理はJavaScript、サーバー側の処理は VB.NETを使っています。 サーバー側であるテキストボックスに対してT extChangeイベントを発生させたいのですが、 クライアント側の処理で値を入力したときは、 イベントが発生しません。 サーバー側で値を変更したときは発生します。 具体的な手順は以下のとおりです。 Cookieから取得した値をテキストボックスにセット ↓ この時点でTextChangeイベントを発生させたいが、何も起こらない。 ↓ サーバー側の処理でそのテキストボックスの値を変更する。 ↓ この時点でTextChangeイベントが発生。 また画面上で直接値を入力したときはイベントが発生します。 クライアント側の処理でテキストボックスに入力した場合は、 サーバー側のイベントは発生しないのでしょうか。 この処理の中で値が入力された時点でイベントを発生させる にはどうしたらいいのでしょうか?

  • Webウィンドウを閉じるには!?

    Webページに画像を掲載し、その画像上で 『左クリック』もしくは『右クリック』が押された場合に 強制的にWebウィンドウを閉じさせたいと思っています。 どのようにおこなえば良いのでしょうか?

  • イベントの発生から対応する処理実行までの作り方

    以前に、ボタンクリックなどのイベントが起きたら すぐにそのボタンクリックに対応した処理をその場(イベント ハンドラ)で実行するのではなく、 "イベントが発生しました関数"のようなものに最初に イベント情報を渡してしまい、あとはその関数からイベントが 振り分けられていき、最終的にそのイベントに対応した処理が 実行される。といったプログラムを見たことがあるのですが、 このような技法は一般的に行われるものなのでしょうか? 巨大なプログラムになるとこのような技法が使われる気が しますが・・・ また、この技法には何か名前がついているのでしょうか? また、これに関して記載しているサイト・書籍などありましたら 教えてください。

  • WindowsでCDのfinalize

    ディスクを手動で閉じるには (finalize) 1.[コンピュータ] を開くには、[スタート] ボタン をクリックして、[コンピュータ] をクリックします。 2.書き込み可能ドライブを表すドライブ アイコンを右クリックし、[セッションを閉じる] をクリックします。 となっていましたが[セッションを閉じる]がでてきません。どうしてでしょうか。 Windows XPです。