簡體   English   中英

如何更新瀏覽器 window 上的數據庫關閉?

[英]how can i update database on browser window close?

我正在嘗試 stream 給用戶一些視頻,我想讓他們在離開網站並再次進入時能夠繼續觀看視頻。 據我所知,將視頻時間存儲在瀏覽器的本地存儲中並在它們返回時檢索它是最好的方法,但在這種情況下,當用戶從不同的 PC 或瀏覽器登錄時,視頻觀看時間會重置。 由於同步 Ajax 現在在某些瀏覽器中被禁用,我也無法在瀏覽器關閉時將觀看時間保存在數據庫中(使用onunloadbeforeunload事件)。

我嘗試過的另一種方法是,節省用戶點擊暫停按鈕的時間,如下所示:

 var video1 = document.getElementById('video1'); function videoPausePlayHandler(e) { if (e.type == 'pause') { //saving the watched time in databse using Ajax } } video1.addEventListener('pause', videoPausePlayHandler, false);

但是,當用戶再次關閉瀏覽器 window 或其他任何東西而不是單擊暫停按鈕時,它將不起作用。

有沒有其他方法可以做到這一點?

您可以使用瀏覽器的onunload事件並發送Navigator.sendBeacon以異步將您的時間戳發送到您的服務器,而不會阻止用戶關閉瀏覽器 window。 發送信標文檔 瀏覽器覆蓋范圍看起來相當不錯。 只是舊的IE根本不支持。

暫無
暫無

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

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