为所有用户更新的共享 HTML 页面

Posted

技术标签:

【中文标题】为所有用户更新的共享 HTML 页面【英文标题】:Shared HTML page that updates for all users 【发布时间】:2013-06-23 17:37:51 【问题描述】:

我正在开发一种 Scrum board 网络应用程序,但我不确定如何处理该方面,如果它为正在查看同一页面的用户更改和更新。

场景: 我们有一个包含 3 列(To Do;In Progress;Done)的表格,里面填充了元素。如果我将一个从 To Do 拖到 In Progress (jQuery/AJAX);我可以使用什么类型的方法来更新所有查看该 Scrum 板的用户(他们会看到对象 1 从第 1 列移动到第 2 列)

理论: 现在我正在考虑每 15 秒左右对数据库进行一次 ping 操作(我知道不会有大量用户,因此不会对数据库造成压力)并相应地重绘......但我不觉得没错。

Google Docs 共享 Excel 表格就是一个例子。

有没有办法在 php 中创建一个委托来完成这个任务?如果没有,你能指出我正确的方向吗? (也许为这方面学习另一种语言?)

【问题讨论】:

en.wikipedia.org/wiki/Push_technology 每 15 秒重新加载一次页面 :) 在网络上工作的通常方式是客户端发出请求,服务器响应。或者至少对于 HTTP 来说是这样。如果您想从服务器推送信息,请参见下面 Ryan E 的回答 【参考方案1】:

您可能想研究 WebSockets。特别是,如果您对新技术持开放态度,我知道Node.js 的Socket.io 库非常适合实时Web 界面。你不需要对轮询做任何事情,它都是基于事件的,你的数据应该立即改变。它还有一些非常棒的 tutorials 可在网络上找到:

Good beginners tutorial to socket.io? Socket.io official how to use page Official Wiki Real Time Chat With NodeJS, Socket.io and ExpressJS

【讨论】:

现在接受这个答案。完整的链接,乍一看,一切似乎都打开了我正在寻找的潜力......如果需要,我会调整我的答案。感谢您的快速和明智的回应。 不客气!快乐执行!这是一项有趣的技术,而且很容易上手和运行。【参考方案2】:

有一个(相对)新的 javascript 框架,称为 Meteor 可以做到这一点。这是一个很好的 *** question 关于它与 node.js 的区别。

【讨论】:

以上是关于为所有用户更新的共享 HTML 页面的主要内容,如果未能解决你的问题,请参考以下文章

Iphone html 5 应用程序总是提示在每个页面上共享位置

如何在不同计算机上的用户之间共享网站上的实时更新?

单页面系统的一些性能优化

Vue总结第六天:Vuex (全局变量管理~多个页面共享数据)

在不使用 jQuery 重新加载页面的情况下将 Flask 输入更新为 HTML [重复]

单页面应用的路由问题