公司交给了一个任务,把中文的网站转换成英文的网站,由于是分开独立运行的,所以不考虑两者切换问题
一开始做没什么问题,首先找到对应的页面,然后找到对应的文字,然后转换成英文的内容就可以了
页面上的中文内容可以分为四种,
一、图片内容;二、HTML直接写死的内容;三、js添加的内容;四:数据库查询的内容
转换HTML的内容和数据库的内容,都没有出现问题,后来转换js的内容时候,发现怎么都不能转换。我在后台查了好久,甚至把中文的js语言文件都给删掉了,依然不好使。我甚至都怀疑是不是找的地方不对。Tomcat重新部署了好几遍,甚至于删掉再重新部署依然没有解决。
还是从页面入手,查看network 的请求内容,发现中语言文件依然在我的网络请求列表中,我所修改的内容在页面上也没有发生变化。忽然间想到了应该是缓存的问题,既然Tomcat都重新部署了,那应该不是服务端的缓存内容。
最后只能是浏览器的缓存内容了,清理了一下浏览器缓存后,果然问题解决。
最后做个总结,浏览器会默认的缓存一些文件,如css、js、图片资源等,就是为了更快的响应页面。当然这是一种优化。缓存机制是根据资源的URL来判断的,如果URL对应在本地的缓存资源有的话,就加载本地的资源,没有再去请求。
如果不想让浏览器缓存这些资源的话,可以在引入的时候,添加随机数参数,使请求的URL发生变化
如:
<script>
document.write("<script type='text/javascript' src='jquery.js?"+Math.random()+"'></script>");
</script>
也可以使用meta标签控制不缓存
<meta http-equiv="expires" content="0">
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">