簡體   English   中英

用戶關閉瀏覽器或訪問其他頁面時如何執行方法?

[英]How to execute a Method when a User close the Browser or visit another Page?

我使用c#asp.net 4 web.forms。

我有一個頁面(稱為X),僅在這種情況下需要在X上執行一個方法:

  • 當用戶訪問另一個URL時,直接在瀏覽器中輸入或單擊頁面上的另一個鏈接。
  • 當用戶從我的Web應用程序注銷時。
  • 用戶關閉瀏覽器時。

目前,我正在嘗試Page_Unload Event但是對於MSDN,“從內存中卸載服務器控件時發生”,並且我無法使其按預期工作。

在文檔中, 我找不到適合我的頁面的事件

有哪些可能的替代解決方案? 感謝您的時間。

這根本不可能。

HTTP要求瀏覽器首先從服務器請求資源-否則,服務器將無法執行任何操作。 關閉瀏覽器不會向服務器請求任何內容。

您唯一的選擇是使用會話cookie,根據MSDN ,會話cookie在用戶結束瀏覽器會話時將被擦除:

當用戶關閉瀏覽器時,cookie被丟棄。

因此,在每個請求上檢查這些內容將使服務器知道用戶是否以前已關閉瀏覽器。

有討厭的javascript解決方案,但是這些都是非常駭人的技巧。

看看javascript window.OnBeforeUnload處理程序:

如何覆蓋OnBeforeUnload對話框並將其替換為自己的對話框?

這樣,您可以在用戶離開頁面之前執行一些JavaScript。

  • 當用戶訪問另一個URL時,直接在瀏覽器中輸入或單擊頁面上的另一個鏈接

您可以做一些客戶端腳本。 javascript onbeforeunload事件可能會對您有所幫助。

  • 當用戶從我的Web應用程序注銷時。

不明白為什么這是一個問題。 這肯定是服務器端事件,不是嗎?

  • 用戶關閉瀏覽器時

那是個問題。 停電應該怎么辦? 或瀏覽器崩潰? 要么...

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM