在页面加载时,我通过 jquery ajax 加载 html 页面。该 html 页面包含一个“ View ”,并在站点布局的“主要内容”div 中呈现。 加载的示例 View html:
<div>hello world</div>
<script src="/javascript.js" type="text/javascript"></script>
问题是 Firefox 通过添加唯一的查询字符串参数来加载 javascript.js...防止它被缓存。
Firebug 显示: 获取http://nodejs/javascript.js?=_1324005635768
这只发生在 View 中动态加载的 JavaScript 中。站点布局中的 JavaScript 加载和缓存效果很好。 Firebug 显示 jquery ajax 返回没有查询字符串参数的普通 View ,因此是 Firefox 添加了它。
如何解决这个问题?
最佳答案
它不是 Firefox,而是 jquery 和 ajax 调用。要么使用 POST 而不是 get 或
来自 jQuery (link)
缓存 bool 值 默认值:true,对于数据类型“script”和“jsonp”为 false
如果设置为 false,将强制浏览器不缓存请求的页面。将缓存设置为 false 还会将查询字符串参数“_=[TIMESTAMP]”附加到 URL。
我的建议是 POST,你的问题就会消失。
关于jquery - Firefox 将查询字符串参数添加到外部 javascript 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8529406/