当用户点击保存按钮时,我希望通知页面中当前所有用户,或者甚至更好(或者更糟糕的是再次考虑)来强制刷新页面。
所以,我在我的剧本中试过这个:
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!!
}
答案 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。