码迷,mamicode.com
首页 > 微信 > 详细

Android微信下JS报错:无对象

时间:2016-05-19 06:48:48      阅读:329      评论:0      收藏:0      [点我收藏+]

标签:android   提示信息   blank   服务器   target   

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>

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

Android微信下JS报错:无对象

标签:android   提示信息   blank   服务器   target   

原文地址:http://lancelot.blog.51cto.com/393579/1774914

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!