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



我有 jsp page1,它是从 tomcat1 上托管的应用程序 1 处理的,我正在从我的浏览器发出异步跨站点 ajax 请求(通过页面)到不同的Web服务器(node.js)上的不同应用程序(跨域请求).正在发生的事情是直到我没有得到响应(我在3-4分钟后得到),我的Firefox/Chrome客户端选项卡继续显示处理(例如计时器在选项卡上保持旋转,左下角显示等待服务器名称),这在IE上不会发生。由于这是异步调用,我不希望用户觉得服务器上正在处理某些事情。

有没有办法停止计时器不断旋转的行为在火狐/Chrome的浏览器标签上?

你可以做这些事情来隐藏chrome/firefox的"加载"栏(希望它会起作用):

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

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

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

最新更新