浏览器选项卡计时器在异步跨域ajax请求的情况下旋转?

时间:2012-11-19 10:19:57

标签: javascript jquery asynchronous webserver cross-domain

我有jsp page1,它是从tomcat1.i上托管的application1开始的,我正在从我的浏览器发出异步跨站点ajax请求(通过页面) 不同的应用程序(跨域请求)在不同的webserver(node.js)。发生了什么,直到我没有得到响应(我得到3-4分钟后),我的firefox / chrome客户端 选项卡继续显示处理(如计时器继续在选项卡上旋转,左下角显示等待服务器名称),这在IE上不会发生。因为这是异步调用, 我不希望用户感觉某些东西正在服务器上进行处理。

有没有办法停止计时器继续旋转的行为 在firefox / chrome中的浏览器选项卡上?

1 个答案:

答案 0 :(得分:1)

你可以隐藏chrome / firefox的“加载”栏(希望它能正常工作):

  1. 在不同的线程中进行Ajax调用(阅读Web_worker)。 (这是HTML5标准,不适用于旧浏览器)

  2. 如果您正在启动ajax调用作为page onload()的一部分,请尝试将其放在setTimeout()或setInterval()中。

  3. 尝试将您的请求提交到隐藏的iframe(将隐藏的表单和iframe嵌入到您的页面中,将您的请求参数添加为隐藏变量,将表单的目标设置为该iframe的名称,设置表单的动作到你的ajax请求的url,提交表单)。这可能不起作用,因为它会隐藏页面加载(但值得尝试)。