2

我刚刚开始使用Pusher,到目前为止一切都很好。

但我意识到,当我的用户打开和关闭,或单击我网站中的内部链接时,连接会随着页面卸载而自动断开。

这将使用户在每次导航到新页面时都连接和断开连接。

有没有办法让用户在浏览我的网站时保持订阅和连接的持久性?

编辑:澄清一下,我理解 Pusher 在用户关闭浏览器或页面时断开连接的行为。我只是想知道如果该人访问同一站点内的另一个内部链接,我们如何保持连接活跃。还是断开连接是最佳做法?如果是这样,为什么?

4

2 回答 2

3

正如@devnull69 所说,目前您需要创建您的应用程序,以便它不执行标准页面导航 - 您可以将您的应用程序构建为SPA (single-page-application)。这样,页面导航之间就没有页面卸载和加载。

可以通过使用共享的 web workers来保持页面加载之间的连接。但正如 CanIUse 所展示的,浏览器支持还不完美。

Pusher 确实计划提供消息历史记录,这意味着页面加载期间丢失的任何消息都可以在重新连接时获取。

另见:

于 2013-01-30T10:12:49.680 回答
1

唯一的解决方法是从常规页面刷新切换到 Ajax。这将使您能够保持 websocket 连接,同时仅加载使用 Ajax 请求更改的页面部分。

于 2013-01-29T15:30:20.773 回答