我正在尝试为网站构建用户重播会话功能,并且我正在使用 rrweb 库来做到这一点。
这个库的作用是在记录时:它捕获网页中的所有事件,我可以通过将它们存储在 array 中来保存这些事件,当我想重播会话时,我只需将 array 传递给重播函数,该函数处理会话重播。
目前出于测试目的,我将此数组保存在我的 sessionStorage 中,每次发出新事件时,我都会获取 array 然后将该新事件推送到其中,然后再次将 sessionStorage 保存在我的 sessionStorage 中,如下所示:< /p>
rrweb.record({
emit(event) {
const sessions = JSON.parse(sessionStorage.getItem('sessions')) || [];
sessions.push(event);
sessionStorage.setItem('sessions', JSON.stringify(sessions));
},
});
但是,对于生产,我不想将该数组保存在我的 sessionStorage 中,然后在每次发出新事件时更新它,而是将该 array 保存在我的数据库中,并且我想调用保存 array 的函数当用户 退出 或用户决定关闭网站时(例如按 X 按钮),一次到我的数据库。
第一部分 - 当用户 logs out - 非常简单,我只需在 logout 按钮上添加一个 eventListener ,这是第二部分 - 当用户决定关闭网站时 - 这让我有些头痛.
我知道有 beforeUnload 事件,但是经过快速搜索后,我清楚地意识到它是不可靠的,所以基本上我正在寻找的是一种可靠的方法来确定用户何时关闭我的网站,以便我可以触发 async函数 会将 array 保存到我的数据库中。
Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号