在没有服务器代码的情况下发布时强制重新加载javascript文件
Force reload Javascript-file on publish WITHOUT server code in view
我有一个使用Javascript-File作为其逻辑的项目:
<script src="myMagicCode.js" ></script>
当我发布新版本时,客户端必须清除缓存以使新代码工作。
我通常可以通过添加一个参数来解决这个问题:<script src="myMagicCode.js?version=1.23" ></script>
但是我太懒了,不能每次发布都这样做。所以我想让这个行为自动化。
包含脚本引用的页面是纯html,不能包含任何服务器代码
我有返回版本的服务器代码。
所以我的想法是将脚本代码更改为类似
的东西<script src="api/GetJsUrl"></script>
其中api/GetJsUrl
是一个GET-Action,包含类似
string url = "myMagicCode.js?Version="+GetCurrentVersion();
HttpContext.Response.AddHeader("Location", url);
return new HttpStatusCodeResult(307);
当发布新版本时,这会强制浏览器重新加载JS-File吗?或者只是api/GetJsUrl
-请求被缓存,我有像以前一样的问题?
如果仍然存在问题:是否有更好的解决方案?
备注:我不寻找每次都重新加载javascript文件的解决方案。我需要一个只在部署新版本(版本号更改)时才重新加载文件的解决方案。
您可以使用像Grunt或Gulp这样的任务运行器:
http://gruntjs.com/http://gulpjs.com/他们可以检查,缩小,构建一些东西和做你想做的,寻找一些包含项目版本和编辑你的html的属性文件。它们甚至可以将你的js文件加入其中,并将其替换为index.html:
<script src="compiled.js?_=1234567890"></script>
相关文章:
- 创建新数据和加载现有数据需要单独的视图吗
- 钛 - HTTPClient:打开新的控制器加载
- 保持 JavaScript 在浏览器控制台中运行,即使在新的页面加载之后也是如此
- 路由到新页面时加载不起作用
- 如何在新窗口完成加载后执行某些内容
- 使用新标题重新加载 html 页面
- Primefaces在打开新页面时加载数据消息
- Wordpress音频播放器和平滑状态.在新页面重新加载播放器时调用什么回调函数
- 用新数据重新加载renderer3d
- 文本不被渲染后,新的页面加载- JQuery移动
- 需要在新标签中加载pdf/doc文件,而不是下载,只是想在浏览器中阅读
- 用新参数重新加载页面
- Js和CSS不检测新页面何时加载
- 在新页面上加载一个flash视频,它在上一页上的位置
- 在新窗口中加载代码编写器视图
- 在控制台中使用新脚本重新加载页面
- 如何在加载新页面后加载AJAX数据
- 如何使用jQuery在新窗口中加载页面,然后关闭它们
- Jquery没有看到新的HTML加载到对话框中
- 无法用新值重新加载JGrid