jQuery .load 浏览器缓存覆盖正文 class 转换

jQuery .load browser cache overrides body class transitions

我的 .load ajax 函数:

1) 点击link

2) 在动画 css 转换时加载请求的页面(正文 add/remove class)

3) 如果页面请求加载速度快于 400 毫秒,它知道在删除正文 class 和显示页面

之前等待

这在我的本地开发环境中完美运行。但是当在实时服务器上时,ajax 页面缓存会覆盖正文 class 转换并快速加载顶部的页面,忽略上述 (3) 中的计时器。

我发现的修复是 $.ajaxSetup({ cache: false });它向 url 添加一个字符串,因此浏览器认为它是一个独特的页面...丑陋。

还有哪些其他可行的解决方法?我可以在加载每个页面之前等待 400 毫秒,但这很慢而且不专业:)

非常感谢。 蒂姆

以及修复...

在您的 .htaccess 中添加:

<filesMatch "\.(html|php|js|css)$">
    FileETag None
    <ifModule mod_headers.c>
        Header unset ETag
        Header set Cache-Control "max-age=0, no-cache, no-store, must-revalidate"
        Header set Pragma "no-cache"
        Header set Expires "Wed, 11 Jan 1984 05:00:00 GMT"
    </ifModule>
</filesMatch>

强制 apache 缓存不存储基本(列出的)文件。