只有在Chrome中打开开发人员工具后,Javascript才有效

时间:2015-08-10 11:11:20

标签: javascript jquery ajax google-chrome-devtools

我遇到与此处相同的问题:

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

似乎确实做到了 - 到目前为止......

1 个答案:

答案 0 :(得分:0)

您需要为jQuery AJAX制作cache: false,以便不会在浏览器中缓存响应数据。另一个技巧是(如果有人不使用jQuery)通过发送一些唯一值作为参数来使URL唯一(如new Date().getTime())

示例:

$.ajax({
    url: 'http://someurl', 
    cache: false,