javascript - 为什么客户端不会在公用文件夹中收到此脚本的新版本?

标签 javascript caching meteor web-worker

在我的项目中有一个公共(public)文件夹,里面有一个脚本:public/worker.js,其中包含一段代码:

alert('foo');

我使用 Worker 调用此脚本:

new Worker('worker.js');

我启动 Meteor 并连接到我的应用程序。 foo 收到警报。
如果我将 public/worker.js 代码更改为其他内容:

alert('bar');

服务器刷新客户端,客户端刷新页面但不会获取新代码,而是使用旧代码(警报 foo 而不是新 Shiny 的 bar)。清除缓存然后刷新可以解决问题。 CTRL+F5 无法修复此缓存问题,它似乎不适用于这种脚本调用(至少在我测试的 Firefox 版本上不起作用)。

到底为什么会发生这种情况?
我该如何预防?

最佳答案

您应该更改文件的响应 header 。也许这会让你继续前进:Explicit HTTP Response Headers for files in Meteor's public directory

关于javascript - 为什么客户端不会在公用文件夹中收到此脚本的新版本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28573129/

相关文章:

javascript - 多功能框 multipe 关键字

javascript - Angular 服务缓存

javascript - 非阻塞代码执行

meteor - Path 适用于桌面设备,但不适用于移动设备

javascript - 使用 Chrome 的内置搜索功能时,Handsontable 未完全呈现

javascript - 使用 JavaScript/jQuery 对数组进行排序

java - 如何创建 JPA 二级缓存以与实体的辅助键一起使用?

html - 在 tomcat 本地主机上测试 HTML5 离线 list

javascript - 如何告诉 DDP 有选择地观察某些字段的更改,而不是所有定义的字段..?

javascript - 在 Electron 应用程序中模拟Ctrl + V