js文件缓存之版本管理】的更多相关文章

以前也做过不少项目,但从来就没有把关注的目光投向过js文件缓存.最近终于在毫无意识的情况下跳进了这个大坑. 近几个月来的工作是一个交易系统持续改进项目,迭代发布周期大约为2~3周.最近一次迭代是V16版,在礼拜三完成发布.不幸的是,第二天上午就被老大逮过去.原来老大从生产中揪出了一个bug,大致的问题如下: 系统中有一个常用的自定义控件,目的是协助选择客户,而V16版的持续改进需求是给控件增加两个筛选选项,支持不同的默认值配置.很简单的一个需求,代码修改也简单,其中一个修改是给一个js文件里边的…
Chrome浏览器清除页面js文件缓存 Chrome浏览器清除js缓存方法虽然简单,但有些人还是不太会,有些人会去设置里面清除有时候没有用,这里写一下简单步骤,使用一次以后就会了,而且速度更快 1.打开需清缓存的页面(如:元素编辑页面),再按F12调出开发模式框 2.勾选 Network标签下 Disable cache选项 (如果之前已勾选直接下一步) 3.按F5或右键"重新加载"刷新页面内容 (刷新页面后本页面相关js缓存已清除) 4.页面重新加载完成再按F12隐藏开发模式框就ok…
什么情况下,要禁止静态文件缓存:1.经常可能要改动的 js, css.比如一个js文件引用如下<script src="test.js"></script> 后来进行了test.js文件的修改在这种情况下如果以前用户浏览过此页面,那么他的浏览器自动缓存了 test.js当他浏览新版本的时候,因为使用的是 缓存js,这样将导致脚本出错. 解决方法探讨:因为css,js 是通过 <script src=....> 这种方式加载的,所以,很难使用 asp…
加上版本UUID <script charset="utf-8" src="${basePath}js/souke/soukegalist.js?v=<%=UUID.randomUUID().toString()%>"></script>…
来自<javascript高级程序设计 第三版:作者Nicholas C. Zakas>的学习笔记(二) 使用html标签<script>可以把js嵌入到html页面中,让脚本与标记混合一起:也可以包含外部的js文件.如: 脚本和标记混合: <script type="text/javascript"> function sayHi(){ alert("Hi"); } </script> 在使用<script&g…
现如今,浏览器大战下,各个浏览器也是拼了命的提高性能,升级JS解析引擎,更好的处理浏览器的页面缓存,让用户的浏览体验更快,占用更小的PC资源.那么,问题就出现在JS和CSS缓存,甚至页面缓存上.至于浏览器对页面的缓存,我们一般通过在服务端发送页面的时候设置页面的生存期,一般几个小时就能缓解很大的服务器压力,并且,对浏览者来讲,本地页面晚更新几个小时可能问题也不大.但,问题是,如果页面发生了更新,但是该页面链接的JS和CSS文件却被浏览器缓存下来,只有待浏览器重启后才能被删除,甚至有些浏览器重启后…
做web前段也有一段时间了,对于web中js文件的加载有些体会想跟大家一起分享一下. 1.首先说说js文件的合并和压缩吧 为了便于集中式管理js的合并和压缩我们创建一个Js.ashx文件来专门处理合并压缩 代码如下: public class Js : IHttpHandler { public void ProcessRequest(HttpContext context) { context.Response.ContentType = "text/javascript"; Htt…
    我们的用户量大,修改js文件后,用户反馈登录出现问题.实际上刷新一下就没事了.就是因为用户的浏览器使用的还是本地缓存的js代码.   强制刷新一般就会重新去服务器获取新的js代码.但不能让用户每次都这样子去做.     于是我思考一个问题: 如果修改了js文件中的js代码,发布代码到线上后.用户的浏览器使用的还是原来js缓存.所以并不会马上生效. 如何才能让浏览器使用最新的js文件呢? 很多人想到的第一反应是,在<script type="text/javascript"…
今天做项目时候遇到一个问题,由于采用了生成静态的CMS系统,但是页面头部需要显示用户登录的信息,也就是,没有登录时,显示登录框,用户登录后,则显 示登录信息.于是用到了js调用php文件的方法.但是由于浏览器的缓存,用户登录后常常还是显示登录框,因为js文件被缓存,没有重新下载. 由于js文件是用<script>标签引入的,无法加随机数参数以使每次都重新下载.经过研究采用以下方法达到目的: 这里是头部的html代码: <table width="770" border…
问题描述:最近在上线新版本项目的时候,发现有的用户的操作还是调用的老版本JS里面的内容,这样就造成原来新的JS里面加上的限制不能限制用户的操作,从而导致用户可以重复操作. 问题产生原因: 如果在用户之前已经访问过系统,那么浏览器中会缓存该系统的CSS.JS,这些CSS.JS缓存未过期之前,浏览器只会从缓存中读取CSS和JS,如果在服务器上修改了css和js,那么这些修改在用户的浏览器中是不会有变化的. 解决方式一: 用户按Ctrl + F5强制刷新页面或者手动清空了浏览器的缓存.此时浏览器会重新…