您好,登录后才能下订单哦!
发布新版本到服务器上后,点击一个按钮总是不执行相应的操作,将控制台信息输出出来后发现提示信息说没有找到相应的对象。
按钮的代码中调用了一个函数,这个函数在另外一个JS文件中,是新版本中增加的。因为是在Android手机上,没法联机调试,于是通过alert逐步定位,发现新加的函数确实没有。再通过链接打开对应的JS文件查看,发现确实也没有新增的函数,可是检查服务器上的JS文件,其内容是正确的。
另外,这个问题只在Android手机上出现,在iPhone下没有这个问题。
在网上搜索,发现是Android下使用了缓存的JS文件,因为在HTML的Header中没有设置相应meta参数,导致Android下没有更新JS文件。
强制Android刷新JS/CSS文件有两种方法:
方法一,设定Meta参数,强制不使用缓存
<META HTTP-EQUIV="CACHE-CONTROL" CONTENT="NO-CACHE"> <META HTTP-EQUIV="PRAGMA" CONTENT="NO-CACHE"> |
这种方法适用于开发阶段,或开发、测试服务器上,对于生产环境不太适合,因为不使用缓存,终端用户的性能会受到影响。
方法二,为需要更新的CSS/JS文件链接后面增加版本号参数,这样Android客户端会认为是新的文件:
<script src="/js/invitation.js?v=20150625"></script> |
这种方法适用于生产环境。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。