位置: 编程技术 - 正文

js文件缓存之版本管理详解(js 文件缓存)

编辑:rootadmin

近几个月来的工作是一个交易系统持续改进项目,迭代发布周期大约为2~3周。最近一次迭代是V版,在礼拜三完成发布。不幸的是,第二天上午就被老大逮过去。原来老大从生产中揪出了一个bug,大致的问题如下:

系统中有一个常用的自定义控件,目的是协助选择客户,而V版的持续改进需求是给控件增加两个筛选选项,支持不同的默认值配置。很简单的一个需求,代码修改也简单,其中一个修改是给一个js文件里边的一个函数增加了一个传入参数,用来传递配置值。经过RC、RTW测试,一切都显得很正常,不过上了生产才被发现bug了。加载出来的客户明显不正常、数目不对,也与预期的查询配置不相符。

检查控件内部跳转链接,发现问题,传递的参数明显与预期不符,而这个链接则是由上面修改过的JS函数生成。因此判定问题是由于客户端缓存了原版JS文件,新函数的调用由旧函数所替换引发的。经过清除缓存,重新加载页面后,这个自定义控件能够正常工作。很不幸的是,我们是不能通过打电话告诉每一位用户,你需要清除缓存,然后才能正常使用这个功能。

到此时,我才意识到需要一种方法来控件JS的缓存问题,否则,后续任何涉及JS文件内容的修改,都会因为缓存无法获取最新JS文件,而导致生产事故。

原则上,我们是需要在有JS更新的时候,才会去重新加载JS文件,而不是每次都重新加载,因此第一种做法给JS应用地址后添加随机参数是不可取的,因为它意味着,几乎每次加载页面都会是重新加载JS,而不会合理的利用缓存JS。但是,我们还有第二种更合理的做法,如果关注过一些国外网站代码,会发现,他们通常是在js链接后添加一个版本号参数,而不是随机数,当js代码发生修改时,只需要将版本号加1,就可以很巧妙的解决通知客户端更新js文件。不知道,谁是第一个想到这种方法的人,不过毫无疑问,他是值得我们钦佩的,真是一个不错的idea的!

附赠些许代码:<script src="../JavaScript/SelectOpenWindow.js?v=1" type="text/javascript"></script>

推荐整理分享js文件缓存之版本管理详解(js 文件缓存),希望有所帮助,仅作参考,欢迎阅读内容。

js文件缓存之版本管理详解(js 文件缓存)

文章相关热门搜索词:js缓存三种方法,js缓存文件到本地,js有缓存怎样下次可以重新加载,js三种缓存的区别,js缓存三种方法,js三种缓存的区别,js缓存三种方法,js存本地缓存,内容如对您有帮助,希望把文章链接给更多的朋友!

javascript基础之查找元素的详细介绍(访问节点) 当然这些选择器都是jQuery扩展的一些方法,那么使用原生js时要怎样来查找元素呢?今天就来简单梳理下。DOM定义了多种查找元素的方法,除了我们常

基于JavaScript 下namespace 功能的简单分析 之前看到网易还是新浪还是什么什么网站来着,也是用类似这种东西的,当时对js只是九牛一毛的水平,当场被吓傻了。但这次,我打算亲自分析下,

基于javascript 闭包基础分享 如果对作用域,函数为独立的对象这样的基本概念理解较好的话,理解闭包的概念并在实际的编程实践中应用则颇有水到渠成之感。在DOM的事件处理方

标签: js 文件缓存

本文链接地址:https://www.jiuchutong.com/biancheng/376110.html 转载请保留说明!

上一篇:深入解析contentWindow, contentDocument(深入解析java编译器:源码剖析与实例详解)

下一篇:javascript基础之查找元素的详细介绍(访问节点)(javascript入门基础)

  • 即征即退收入要交税吗
  • 净资产包含哪些方面
  • 金蝶kis暂存的凭证怎样
  • 30万的车税可以抵多少
  • 营业执照注销还需要交钱吗
  • 行政单位现金日记账填写样本
  • 预付账款转入其他非流动资产
  • 长期股权投资成本法初始计量
  • 价税合计是什么会计科目
  • 捐赠允诺是否有法律约束力?
  • 客运服务费怎么开票
  • 文化事业建设税计算方法
  • 拿到购房发票
  • 出售固定资产账务处理
  • 企业支付微信认证怎么弄
  • 费用报销单正确填写格式
  • windows10闹钟不响
  • 新会计准则的科目
  • 营改增后房地产企业账务处理
  • nodejs安装教程
  • 阳光照耀下的人
  • 其他收益属于利润表吗
  • php生成随机数不重复
  • node.js in action
  • php分割数组
  • 所得税申报表应怎么填
  • 从 零开始
  • 泛型 static
  • telnet 执行命令
  • 转出未交增值税最终怎么转平
  • 小规模纳税人印花税减半征收政策
  • printfi
  • 稿费支付方式怎么填
  • js数组 filter
  • 未分配利润与净利润有关系吗
  • 在建工程会计科目明细
  • 债券投资的会计科目有哪些
  • 劳务分包的三种形式
  • 发放职工薪酬计入什么科目
  • 先预付货款,货到了怎么做账
  • 应收账款结算方式有几种
  • 医院工会费是什么
  • 固定资产可资本化的后续支出
  • 活动经费要发到每个员工
  • 预付账款可以开发票吗
  • 收到商业汇票计什么科目
  • 盘亏机器设备
  • 装修公司开劳务费怎么选择税控编码
  • 小企业会计核算论文
  • 出口汇率按报关价格算吗
  • 企业应如何降低消费者
  • 暂估入库一直没有发票
  • 材料人工制造费用是什么成本
  • 外派人员房租
  • 发票作废后对方还能认证吗
  • 财务大写金额书写样板
  • sql server233错误
  • sql导入csv数据
  • sql语句 字符串
  • sqlserver2000删除注册表
  • 常用的sql语句有哪些
  • win7如何设置自动锁屏时间
  • win8打开桌面
  • windows dns server
  • Mac系统中使用QuickTime Player实现屏幕录像图文教程
  • mac 8g 虚拟机
  • servers.mcs
  • WIN10系统中读卡器驱动的正确安装程序
  • js中date对象
  • coco触控
  • 查看linux中某个端口(port)是否被占用的方法
  • linux编写一个脚本
  • 常用的批处理命令
  • python高级写法
  • 地税局属于国家公务员吗
  • 中国地税国税
  • 自然人电子税务局
  • 江苏几个地级市几个县级市
  • 税款复核需要多少天
  • 地税局申报个人所得税
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设