刷新所有在线用户的页面

时间:2015-01-13 21:24:01

标签: javascript refresh reload

当用户点击保存按钮时,我希望通知页面中当前所有用户,或者甚至更好(或者更糟糕的是再次考虑)来强制刷新页面。

所以,我在我的剧本中试过这个:

function save_match() {
    ...
    alert("Saved slot " + slot + "! :)");
    window.location.reload();
}

但当然,刷新仅针对实际按下按钮的用户,其他用户不知道其他用户刚刚保存的内容。

执行页面的重新加载似乎不太可能发生,那么通过JavaScript做一些会通知其他在线用户进行保存事件呢?

可能相关question


所以,我想要的是:

function save_match() {
    ...
    alert("Saved slot " + slot + "! :)");
    // do something here so that all online users are updated!!
}

1 个答案:

答案 0 :(得分:1)

您需要实施Server Push。这项技术有不同的工作策略,如Long pooling,Heartbeat和WebSockets。检查一下。

编辑:确实可以使用上述任何策略。

对于长池,您向服务器发送请求并等待,直到服务器推送'如有任何更新,请返回任何更新。 Check this post了解如何使用jQuery。

Heartbeat是一个不同且更耗费新功能的技术,您每隔x秒发送一次请求以查看服务器是否有任何更新,如果是,则更新您的数据。 Check this example如何实现它。

您还可以看到如何实现WebSockets javascript应用程序in the MDN的示例,但在跳转之前请先考虑browser support for this feature

相关问题