2013-09-25 106 views
0

我有使用Play Framework 2(後端)和AngularJS(前端)構建的我的Web應用程序。如何知道用戶何時關閉了Web應用程序

當用戶退出我的web應用程序(通過關閉瀏覽器選項卡或註銷)時,我需要在後端執行一些清理調用。

我用play! Authenticate插件從Joscha第k個處理登錄和註銷,所以我想我可以調用全局方法

afterLogout() 

做清潔,但我不知道如何生成的事件。

Javascript? HTML嗎?還要別的嗎?

+0

您無法控制用戶何時關閉瀏覽器窗口/選項卡,因此您唯一的選擇是通過用戶註銷操作觸發您的操作。 –

回答

1

有沒有好辦法來檢測這一點。

通常,當會話清理時,您將保留會話和執行任何清理任務(因爲這意味着用戶有左側,即您將忘記他/她) 。

你可以嘗試使用onbeforeunload但瀏覽器的嚴格限制,你可以做什麼在這裏,因爲瀏覽器真的要關機,它不希望等待您的代碼來完成。做任何一種AJAX都是非常不可靠的。

+0

然後,如何在Play Framework中清理會話(以便我可以添加指令)? – Andrea

+0

我並不熟悉playframework(或者Java)。看看他們是否有會話管理器,你會想要掛鉤垃圾收集功能。 – Halcyon

+0

謝謝你的建議,我會研究一下。 – Andrea

-1
window.onbeforeunload = function() { 
    afterLogout(); 
}; 
+0

這不會。請注意,在關閉與Web應用程序相關的任何**選項卡時,將執行此操作。 –

相關問題