想知道用戶在當(dāng)前網(wǎng)站上停留了多長時間。
指用戶打開這個網(wǎng)站到關(guān)閉這個網(wǎng)站或者跳轉(zhuǎn)到其他網(wǎng)站的這個時間段。
目前沒有很好的策略,定時上報似乎是下下策
進入頁面時執(zhí)行個onload退出頁面時執(zhí)行個onbeforeunload這個時間差就是在當(dāng)前頁面的時間了。
很多方法啊,比如設(shè)置cookieonload時候設(shè)置一個cookie儲存當(dāng)前時間onbeforeunload時候獲取一個時間,跟之前cookie比較,js計算一下下發(fā)。
相關(guān)文檔:window.onbeforeunload
當(dāng)前網(wǎng)站的活動狀態(tài)對應(yīng)當(dāng)前打開的一個瀏覽器窗口,可以監(jiān)控當(dāng)前window對象關(guān)閉事件。但如果用戶,同一瀏覽器打開幾個窗口都是同一個網(wǎng)站,只有在瀏覽器層面解決。第一種思路,客戶端有一個唯一id對應(yīng)用戶,該用戶登陸該網(wǎng)站時,后臺記錄時間,關(guān)閉窗口時觸發(fā)關(guān)閉事件,給后臺發(fā)送一個請求,后臺記錄關(guān)閉時間。不過這個也不完善。,客戶端和服務(wù)器采用雙工通信。第二種思路,如果是websocket,成功建立連接到連接斷開,可以當(dāng)做用戶在網(wǎng)站的停留時間。第三種思路,服務(wù)器查看建立過連接的IP地址,同一IP地址某一時間段通信頻率較高,這個更不準(zhǔn)確,只算個大概,當(dāng)我沒說。