我遇到与此处相同的问题:
Why does JavaScript only work after opening developer tools in IE once?
除了我的是镀铬44。
JavaScript代码 - 主要是XHR和setInterval - 完美 - 当开发人员工具打开时
(可能只是XHR问题)
这是一个网络应用程序 - 即:一个宽度为300像素的弹出窗口,它位于用户当前正在处理的任何位置旁边。
这里的解决方案: AJAX works if chrome dev tools open but not if chrome web tools closed?
似乎不适用 - 因为我正在使用post for dynamic files
任何想法:-)?
编辑: 正如@michaelAdam所启示的那样 - 大多数问题都是缓存问题,因为我使用了很多XHR'get'(没有缓存) 嗯..有趣的是: 使用:
$.ajaxSetup({ cache: false });
似乎没有做到这一点。 添加: @Mattisdada:
header("Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0");//Dont cache
header("Pragma: no-cache");//Dont cache
header("Expires: Thu, 19 Nov 1981 08:52:00 GMT");//Make sure it expired in the past (this can be overkill)
Prevent Chrome from caching AJAX requests
似乎确实做到了 - 到目前为止......
答案 0 :(得分:0)
您需要为jQuery AJAX制作cache: false
,以便不会在浏览器中缓存响应数据。另一个技巧是(如果有人不使用jQuery)通过发送一些唯一值作为参数来使URL唯一(如new Date().getTime())
。
示例:
$.ajax({
url: 'http://someurl',
cache: false,