> 參考的優秀文章
想起以前做的一個小系統,一個企業內部小型的測試系統,讓考生在給定時間內完成考試,如果考生中退出,那么下次進來可以利用剩余的考試時間繼續完成考試。
這里遇到一個問題,如何監聽考生的退出。從Web技術上來講,就是如何監聽用戶在正常情況下,或異常情況下退出瀏覽器。
> 利用beforeunload事件
如此文章beforeunload實現關閉離開的提示所述,可使用此方法實現。
但有兩個嚴重缺陷:
- 不能保證100%監聽成功。比如電腦突然斷電,瀏覽器根本來不及調用回調的方法就退出了。
- 部分瀏覽不支持。
> 輪詢
在頁面每間隔一段時間輪詢后台,一旦頁面停止了輪詢,即表示已經退出了瀏覽器。但這只適用於小型的內部系統,因為大型系統流量太大,服務器負載太重。