1

我有一种情况,一个事件必须影响一个事件触发的多个网页。

就像在 GMail 中一样。我正在为我的大学开发一个基于在线股票交易系统的项目。有人要求管理员或经销商无需刷新其应用程序端即可查看客户在应用程序另一端下达的新订单的设施。

正如我所说的,它就像 GMail,等待事件发生,收听并更新页面。

我擅长 JavaScript 和 jQuery,我可以在一个页面中做到这一点:事件侦听器。但是如何跨多个页面执行此操作。

您还可以考虑另一种情况:酒店的服务员、收银员和厨师都有一个 PDA,他们中的任何一个人都不必刷新他们的网页实例来更新所下的订单。

我怎样才能做到这一点?这可能吗?我说我擅长 javascript,但我有自己的限制和怀疑。

我使用 jQuery 和 PHP。

提前致谢。

PS:我知道如何每 5 秒左右刷新一次页面或 iFrame。

编辑1:

至于其他细节,我想要类似于下面在java中完成的东西

synchronised(sync)
{
   sync.wait()
}

代码可能不准确,这是来自我的实验室实验。但是这个概念是相似的。服务器一直等到客户端移动,并且重复了很长时间。

编辑2:

另一个最好的例子是我们在互联网上经常遇到的情况:完成一项调查或其他内容以使内容能够被下载。

我的交易系统需要这样的东西。经销商页面始终侦听客户端页面以与服务器一起操作。在这种情况下,经销商页面会对该动作做出反应。在这种情况下下订单。

4

2 回答 2

1

研究一个长轮询或“彗星”架构。这被事件驱动的 AJAX 应用程序广泛使用,并将提供您正在寻找的内容。

有关更多信息,请参阅https://en.wikipedia.org/wiki/Comet_(programming )。

于 2012-10-31T13:06:22.213 回答
1

如果一个浏览器上有多个页面实例,您可以使用 javascript web worker。

别的

使用“长池”或“ajax 查询”

长池化演示:如何实现基本的“长轮询”?

你做什么,你总是向服务器查询新信息。如果有新信息,您将其退回。然后 javascript 会看到有新信息并显示出来。

于 2012-10-31T13:08:27.420 回答