我有一個網絡服務器,可以爲特定主題的學生生成問題。網絡服務器需要記錄每個學生花費在一組特定問題上的時間。Onunload,onbeforeunload - 要求提供指導
網頁上有一個「完成」按鈕,當按下該按鈕時,統計數據將被髮送到服務器。
但是,如果學生從頁面導航離開頁面或關閉瀏覽器窗口而不按「完成」,我還希望Web瀏覽器發送統計信息。
爲此,我計劃讓「onunload」或「onbeforeunload」發送一個Ajax請求到服務器並提供相關信息。但顯然不同的瀏覽器並不完全支持這些事件,並且在事件處理程序中可以做什麼也有限制。當然,如果與服務器的通信失敗,我不希望瀏覽器凍結。
所以,我需要一些建議,以最好的方式來做到這一點。
我已經使用onbeforeunload來發送AJAX請求,因爲這個原因,它在主流瀏覽器中工作。我無法給你一個我測試過的最終清單,但你應該知道它已經完成了。 – RichieHindle
我用過的軟件,回想起來,可能有這個功能。我的回憶是,有哪些瀏覽器可以使用的限制。這是不誠實的,但我傾向於採用基本上說的一句話。 「需要符合標準的瀏覽器,您必須使用xx,yy或zz瀏覽器來完成此測試,其他瀏覽器無法保證您的答案的隱私性,因此不支持」 – enhzflep
您無法實現某些不受支持的瀏覽器(卸載時的AJAX)。不要在卸載時發送數據,最好定期將數據發送到服務器。然後,即使使用任務管理器關閉了瀏覽器,或者如果(s)他拔掉了(網絡)電纜,您仍然有一些數據。 –