2009-08-08 80 views
5

我们已经收到了一个ajax请求, 30秒,然后将用户发送到不同的页面。在此期间,我们当然会显示ajaxy spinner指示符,但浏览器也可能“出现”卡住,因为浏览器客户端实际上没有工作或显示它自己的加载消息。使用Ajax浏览器“繁忙状态”

有没有一种简单的方法可以告诉所有主流浏览器使用JS命令来查看忙?

感谢, 乍得

回答

2

在这种情况下你需要使用AJAX吗?您可以将其发布/放到另一个页面,其全部目的是处理请求,并且一旦完成重定向到目标页面?

您仍然可以使用一些JS来弹出微调器,并且由于您正在发布到另一个页面,浏览器将显示其“原生忙指示器”。浏览器不应该显示中间页面,一旦请求被处理,响应就会被重定向到目的地。

+0

很酷 - 是的,这可能是获得原生指标的最佳方式 - 实际上它可以通过一个帖子进行工作。 谢谢我会改变一些事情。 – Chad 2009-08-09 21:41:13

0

jQuery的?

$('html').ajaxStart(function() { $('#busyindicator').show(); }); 
$('html').ajaxStop(function() { $('#busyindicator').hide(); }); 

但也许我不理解你的问题。 “看起来很忙”是什么意思?你的意思是让浏览器的进度条或原生忙指示器处于活动状态吗?不要以为你可以这么做...

+1

这听起来像他已经做了类似的事情,想要更多,例如像你描述设置浏览器的本地忙指标。 – Josh 2009-08-08 14:50:01

+0

谢谢Scott!对不起,不清楚。是使用Ajax,并会尝试后解决方案。 – Chad 2009-08-09 21:41:56

2

您可以将body的CSS cursor属性设置为“等待”。有了雏形,这将是这样的:

$(document.body).setStyle({cursor: 'wait'}); 

相信这是jQuery代码,有人请纠正我,如果我错了,因为我不是一个jQuery专家:

$("body").css("cursor", "wait"); 

这将使整个页面在Windows上显示沙漏鼠标光标,在Mac OS上显示旋转的观察光标。

+0

雅这也是一个好主意....将是一个实际发布请求获得真正的本地指标的快速替代方案。 谢谢乔希。 – Chad 2009-08-09 21:43:08

+0

这很好,但不够好。铬选项卡图标并不表示该应用程序正忙。 – sureshvv 2012-02-07 08:11:02