4

我的页面上有一个加载程序,一旦我收到对我的 RPC 的成功响应,它就会被删除。如果 RPC 调用失败,页面会立即刷新。

每当我在 IE 7 或 8 中第一次加载我的页面时,它永远不会加载并且永远不会到达 rpc call has failed 方法。每次我手动刷新失败的加载时,它都会起作用。我已经能够重现大约 30 次。这是一个问题,因为页面只是坐在那里,屏幕上有一个加载器。

我不知道会发生什么。自己试试吧:

1)打开IE7或IE8。2) 访问http://www.foodtrucksmap.com/ 3) 页面将显示完成,并在屏幕上永远显示装载机。4)刷新页面,它应该可以工作。

我只能想出一个糟糕的解决方案......创建一个 30 秒的计时器,如果加载程序仍在屏幕上,请刷新页面。我宁愿发现发生了什么。

更新

作为第二个临时解决方案,我将添加一个立即过期的 cookie,如果它在会话中第一次访问,则重新加载。

4

2 回答 2

0

无论我们尝试什么,我在 IE 缓存 AJAX GET 请求方面都有过糟糕的经历。
在重要的地方,我们能找到的最佳解决方案是使用 POST,它解决了问题,但也是一种变通方法。更改标头以明确禁止缓存也不起作用。

于 2010-12-17T09:50:54.330 回答
0

根据您发布的有限信息以及我能够从您的网站中提取的信息,我想知道您是否遇到了请求超时或其他与服务器相关的问题。例如,您有 36 个未压缩的 javascript 文件正在加载(其中 35 个已完成)和一整套 407 个代理错误。

您必须非常小心 js 文件的加载顺序以及放置脚本标签的位置。IE 对此特别敏感。

你有两个选择:

  1. 尝试将 defer 添加到您的脚本标签;这应该强制它在加载内容后加载 js。
  2. 正如雅虎建议的那样,将脚本标签移动到您的结束正文标签 () 的正上方,然后尝试看看它是否有所作为。我敢打赌,它正在等待加载基于 javascript 文件的内容尚未完成加载,整个事情都超时了。
于 2010-12-20T20:34:43.273 回答