温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Android微信下JS报错:无对象

发布时间:2020-04-10 19:58:03 来源:网络 阅读:385 作者:tywali 栏目:移动开发
1.1.1 现象

发布新版本到服务器上后,点击一个按钮总是不执行相应的操作,将控制台信息输出出来后发现提示信息说没有找到相应的对象。

按钮的代码中调用了一个函数,这个函数在另外一个JS文件中,是新版本中增加的。因为是在Android手机上,没法联机调试,于是通过alert逐步定位,发现新加的函数确实没有。再通过链接打开对应的JS文件查看,发现确实也没有新增的函数,可是检查服务器上的JS文件,其内容是正确的。

另外,这个问题只在Android手机上出现,在iPhone下没有这个问题。

1.1.2 原因

在网上搜索,发现是Android下使用了缓存的JS文件,因为在HTML的Header中没有设置相应meta参数,导致Android下没有更新JS文件。

1.1.3 解决

强制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>

这种方法适用于生产环境。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI