繁体   English   中英

当至少1个用户触发事件而不刷新页面时,更改所有用户页面中的内容

[英]change content in all users pages when at least 1 user triggers event without page refresh

我想做的是当1个用户选中一个复选框(例如,可以是任何事件)时,打开同一页面的每个人都立即看到它而没有页面刷新。

我知道如何使用ajax和setTimeOut(或setInterval)函数来执行此操作:使用setTimeOut函数,我们打开流,其中无限循环检查是否触发了事件,如果是,则使用ajax更新内容。 或设置间隔以在一段时间内更新页面。

我正在寻找更优化和跨浏览器的解决方案,因此将不胜感激。

在google中搜索:彗星或长时间轮询

为了使该解决方案能够跨浏览器运行,您必须改变为Web / HTTP设计的Web服务器/ HTTP的用途,即尽可能快地为浏览器的请求提供页面服务,然后关闭连接。 在新的浏览器中有新的方法,在HTTP模型中有新的定义,但是它们在旧的浏览器上不起作用。

长时间轮询的基本原理是,将请求发送到服务器,服务器闲置,假装正在生成页面,如果发生任何需要更新客户端的事件,则它将信息作为响应发送给服务器。在请求之前的请求。 就服务器资源而言,这是低效的,但就用户体验而言,它几乎足够灵活。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM