我有一点问题,因为我的WEB开发技巧不是最敏捷的,我希望你能帮助我。
问题在于我正在开发数字SCRUM任务板,其中一个核心功能是,打开相同项目任务板的浏览器必须显示相同的图片。因此,如果人A移动任务人员B应该在他的浏览器中看到这个,而不必手动刷新网页。
我知道毫秒同步是不可能的,因为这会破坏网络连接。但每30秒一次会很好。除非你能推送信息。
项目移动的表示不是问题,因为我可以很容易地使它眨眼。 我需要有关浏览器服务器通信的帮助。 B人的浏览器如何知道某些内容已被更改。它是否真的像拥有计时器一样简单,并且可以通过任意方式查询JSON服务以获取任何更改。或者有没有办法将更改推送到浏览器?
答案 0 :(得分:10)
您想查看Comet。
在网络开发中,Comet是一个 描述网络的新词 应用模型中长期持有 HTTP请求允许Web服务器 将数据推送到浏览器,没有 浏览器明确请求它。
这将为您提供您想要的即时响应。有几个JavasScript框架内置支持它 - 您选择的取决于您已经使用的内容,您对每个框架的熟悉程度等等。Dojo是我之前使用过的框架,并且它运行良好。
答案 1 :(得分:4)
实现这一目标有三种方法:
答案 2 :(得分:0)
可以打开拉式连接,有效地允许您将内容推送到浏览器,但轮询的想法是最简单的。
您的民意调查只需要查看上次更新的时间,如果它比它知道的更新,那么它可以下载整个更新。
保持简单。你不会走得太远。
答案 3 :(得分:0)
假设A人移动任务意味着更改反映在数据库中,您只需设置一个JavaScript间隔(setInterval(function,timeInMs))来使用AJAX轮询后端脚本,这将返回新状态
答案 4 :(得分:-1)
是的,这是标准的AJAX练习 - A是'异步',这意味着您在后台触发XMLHttpRequest以检查状态,然后在必要时更新页面。
您无法“推送”到浏览器。