Android微信下JS报错:无对象
2016-05-18 22:48
246 查看
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参数,强制不使用缓存
这种方法适用于开发阶段,或开发、测试服务器上,对于生产环境不太适合,因为不使用缓存,终端用户的性能会受到影响。
方法二,为需要更新的CSS/JS文件链接后面增加版本号参数,这样Android客户端会认为是新的文件:
这种方法适用于生产环境。
按钮的代码中调用了一个函数,这个函数在另外一个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> |
相关文章推荐
- 使用C++实现JNI接口需要注意的事项
- Android IPC进程间通讯机制
- Android Manifest 用法
- [转载]Activity中ConfigChanges属性的用法
- Android之获取手机上的图片和视频缩略图thumbnails
- Android之使用Http协议实现文件上传功能
- Android学习笔记(二九):嵌入浏览器
- android string.xml文件中的整型和string型代替
- i-jetty环境搭配与编译
- android之定时器AlarmManager
- android wifi 无线调试
- Android Native 绘图方法
- Android java 与 javascript互访(相互调用)的方法例子
- android 代码实现控件之间的间距
- android FragmentPagerAdapter的“标准”配置
- Android"解决"onTouch和onClick的冲突问题
- android:installLocation简析
- android searchView的关闭事件
- SourceProvider.getJniDirectories