2011-08-18 97 views
3

我有一个web应用程序的想法,这将需要AJAX请求功能。它的关键在于,只要用户在网站上就可以运行AJAX请求。我的问题是,如果用户离开网站(我的ajax请求将运行)4/5小时,这些AJAX请求仍然会运行,我的担心是屏幕变暗,屏幕保护程序,电脑的睡眠状态。这些都会影响我的web应用程序的性能吗?连续的AJAX请求 - 对网络应用程序的影响?

回答

2

不幸的是,这是非常依赖客户端。例如,移动设备可能在进入睡眠状态时停止处理JS(例如,为了节省电池寿命)。然而,在我之前写过的一个镜像旋转器应用程序中,它发送了定期的请求到服务器来检索图像(我有理由不缓存它们,我发誓),主要由非移动客户端访问,我观察到请求继续几个小时甚至几天。虽然我不知道客户端机器是否进入睡眠状态,但我确信它确实如此。

长话短说 - 我认为你不能确定,但​​对于一些目标受众,你可以合理确信。我会建议调查你的观众。

0

如果在您的站点用户需要登录简单保持会话超时选项,让说15分钟。这意味着在15分钟的空闲时间之后,会话将被销毁并且ajax请求会自动截断。

如果您没有登录,这将变得困难,但仍然可以通过ip跟踪或类似的机制来实现,但这些永远不会像第一次那样充分证明。

+0

这是语言相关的,但会话超时通常不会在正在运行的脚本上强制执行,而是在会话开始时检查。所以这可能无法正常工作...... –

+0

我不是要求在运行脚本上执行会话超时。这与您的手机进入睡眠模式类似。您检测您的手机是否已进入睡眠模式。如果是,你暂停它,对吧?同样,您可以跟踪用户的空闲时间,并根据该时间停止执行ajax调用。让我知道,如果这是有道理或根本没有:(? –

0

我必须同意肖恩,因为它非常面向客户。如果客户端保持活跃状态​​,那么通过我们的非人类交互,AJAX应该继续前进。