修改js文件,引发的404问题
记录一个bug,本地测不出来,客户后台却404,web测试可参考。(不知道是不是通用的)
先介绍下背景
我们是web产品,存在发布机、管理机、js文件,页面会引用到这些js文件。出于安全考虑,规定js文件名称和文件里面都不得带有版本号。
现在描述bug的来龙去脉
比如某个js文件叫juery.2.1.1,有10个页面引用了它。这时把它的名称改掉,叫SuperSlide。按说那10个页面里面的名称也要相对应改掉,但是只改了7个页面,3个漏
改了。所以讲道理,这3个漏改的页面,前台访问的话会报js404错误。但是不然,本地测试环境的前台一切正常。
而把网站包导到客户环境,再去访问,就找不到js文件了,猝。
原因是啥呢?因为js文件是静态资源,发布的时候,是“增量式发布”。即,修改js文件名称和页面里的名称之前,发布过一次,这时发布机上存的是juery2.1.1文件---页面
里面juery2.1.1的映射关系。修改过以后,对于那3个漏掉的页面来说,再次发布,发布机里存的是Superslide文件---页面里面juery2.1.1的映射关系。这时在前台访问的话
会把所有的映射关系都遍历一边,即便在第二次的发布里找不到映射关系,在第一次的也能。总之,能找到引用的js文件,前台就不会报错。
而客户环境呢?是把本地修改后的网站包导到客户环境的,那么对客户环境进行发布之后,发布机存储的只有Superslide文件---页面里面juery2.1.1的映射关系,当然在
前台就报错了!
如何测试呢?
1.测试人员把本地发布机的js文件全部删除
2.本地访问,检查前台js报错情况
以上,web测试的朋友可以参考。
修改js文件,引发的404问题的更多相关文章
- eclipse 修改js文件无法编译到项目中
1.场景重现 在今天修改js文件完善功能时,发现在eclipse中修改了文件后,刷新页面功能无法同步: 2.分析原因 查看编译路径,文件没有修改: 2.1 可能是缓存问题: 2.2 项目未编译: 3. ...
- IDEA 2018.3.5,修改js文件,html页面不及时更新
问题描述 使用IDEA 开发时,修改js文件,前端页面不能及时更新. 解决方法: 1. IDEA settings--> Compiler --> Build project automa ...
- Idea使用记录--每次修改JS文件都需要重启Idea才能生效解决方法
最近开始使用Idea,有些地方的确比eclipse方便.但是我发现工程每次修改JS或者是JSP页面后,并没有生效,每次修改都需要重启一次Tomcat这样的确不方便.我想Idea肯定有设置的方法,不可能 ...
- Idea-每次修改JS文件都需要重启Idea才能生效解决方法
最近开始使用Idea,有些地方的确比eclipse方便.但是我发现工程每次修改JS或者是JSP页面后,并没有生效,每次修改都需要重启一次Tomcat这样的确不方便.我想Idea肯定有设置的方法,不可能 ...
- 修改JS文件都需要重启Idea才能生效解决方法
最近开始使用Idea,有些地方的确比eclipse方便.但是我发现工程每次修改JS或者是JSP页面后,并没有生效,每次修改都需要重启一次Tomcat这样的确不方便.我想Idea肯定有设置的方法,不可能 ...
- 修改JS文件不能及时在页面中体现,需重启浏览器?
对JS文件做个小小的改动,哪怕是加一句简单的ALERT语句,都要重启浏览器才能看到.你有这样的烦恼吗?怎样不用重启浏览器就能及时体现JS的变化呢? 对浏览器(IE)做如下设置即可:1.点击 工具栏 - ...
- 解决修改css或js文件后,浏览器缓存未更新问题
问题描述:最近在上线新版本项目的时候,发现有的用户的操作还是调用的老版本JS里面的内容,这样就造成原来新的JS里面加上的限制不能限制用户的操作,从而导致用户可以重复操作. 问题产生原因: 如果在用户之 ...
- 把系统时间改到以前后,MyEclipse9.1的工程里的JS文件修改完保存但MyEclipse不会将其不会更新。
一个任务中,由于本周数据还没有产生,只好把系统时间修改到上周,利用下上周的数据. 修改内容主要是增加查询子句的一个字段,因此,包含SQL的DAO,前台显示的Table和前台操作的JS都需要相应修改,它 ...
- 关于更新发布CSS和JS文件的缓存问题
现如今,浏览器大战下,各个浏览器也是拼了命的提高性能,升级JS解析引擎,更好的处理浏览器的页面缓存,让用户的浏览体验更快,占用更小的PC资源.那么,问题就出现在JS和CSS缓存,甚至页面缓存上.至于浏 ...
随机推荐
- [Windows] Access SMBIOS
SMBIOS architecture System Management BIOS (SMBIOS) is the premier standard for delivering managemen ...
- java中字符串相等判断
字符串的判断有2种: 1.判断地址是否相等 用:== 2.判断值是否相等 用:equals方法 Object类作为所有类的超类,而Object类的equals方法是直接比较地址的,源码如下: pu ...
- android apk 文件反编译
最近,自己坑逼的把一个android 项目修改版本的代码删除了.这个项目居然还没上传到源代码管理器.幸好还有apk文件,修改的代码也不多可以反编译一下. 1.下载 dex2jar 获取源码工具 地 ...
- 3DSMAX 卸载工具,完美彻底卸载清除干净3dsmax各种残留注册表和文件
一些同学安装3dsmax出错了,也有时候想重新安装3dsmax的时候会出现这种本电脑已安装3dsmax,你要是不留意直接安装,只会安装3dsmax的附件,3dsmax是不会安装上的.这种原因呢就是大家 ...
- eclipse 大括号改为C语言一样的代码块
如图:找到Windows->Preferences->Java->Code Style->Formatter: 然后,点击右边的Edit按钮: 按如下图完成
- 编辑距离算法-DP问题
Levenshtein Distance The Levenshtein distance is a string metric for measuring the difference betwee ...
- 吴裕雄--天生自然KITTEN编程:狡兔三窟
- 文本快速分类利器fasttext使用心得(踩坑之路)
fasttext是文本分类的一大利器,优点:快,嗷嗷快:缺点:暂未发现.但是我在使用其做文本分类时候还是遇到了挺多坑,今天先总结一个: 网上有人说设置训练参数的时候,ngrams设置大于2可以提高模型 ...
- 微软推出中文学习AI助手Microsoft Learn Chinese
编者按:美国总统特朗普访华期间,他6岁的外孙女阿拉贝拉用中文普通话演唱和背诵传统诗歌的视频在中国社交媒体上引起广泛关注,可以感受得到,越来越多的人对中文学习充满了兴趣.智能私教微软小英帮助很多中国 ...
- Docker Swarm和Kubernetes在大规模集群中的性能比较
Contents 这篇文章主要针对Docker Swarm和Kubernetes在大规模部署的条件下的3个问题展开讨论.在大规模部署下,它们的性能如何?它们是否可以被批量操作?需要采取何种措施来支持他 ...