所以我基本上在网站上有一个 WYSIWIG 编辑器。
我希望能够判断用户当前是否正在编辑页面,以防止其他用户在“忙碌”时进入页面。
我在 mySQL 中实现了一个将文章标记为忙碌的系统。当用户进入页面编辑它时,它会将其标记为繁忙,并通过将函数绑定(bind)到 window.onbeforeunload 来取消标记。
但是,如果页面意外关闭,例如浏览器崩溃或强制关闭,则不会调用 window.onbeforeunload。这会导致一些文章在不应该的时候被标记为忙碌。
有没有更合适的实现方式?
最佳答案
如果页面定期(例如每 10 秒一次)请求“保持事件”页面(在 URL 中包含当前时间,因此页面不会被缓存!),并且最后的时间戳保存在数据库中,然后你可以有一个超时 - 任何没有请求“保持事件”的“打开”页面,比如 30 秒,可能不再打开。
关于PHP - 如何判断页面是否被使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25131354/