缓存掌握
http接口数据缓存
一向在做spa,运用内的页面切换没有接口数据缓存的题目,而从运用内切换到外部再回来的话,假如接口地点参数都稳定,那末之前要求过的接口,会运用上一次要求拿到的数据,抓包东西显现要求基础没有发生。
解决要领就是:改改参数,比方加个时候戳。
js/css/img
关于静态资本能够更新文件名(如:文件名加hash),合营gulp,webpack等打包东西都能够完成。
index
尝试过在html中增加http-equiv的meta标签来掌握response header,但在大部份安卓机上无效。
解决办法:在html标签上增加一个不存在的manifest,瑕玷是会形成一个分外的404要求
<html manifest="NOT_EXIST.manifest">
缓存掌握触及到http协定的学问,触及catch control与三种header的用法。https://segmentfault.com/a/11…
音频
自动播放
Android:没题目(版本更新后能够会有自动播放失效的题目,疑心与jssdk的初始化有关)。
iOS:因为苹果的限定必需合营微信接口做处置惩罚。
假如audio标签和audio资本都是静态的,那末只须要在
wx.ready
中挪用play要领。假如是耽误的自动播放,那末你能够须要在页面加载完成后在ready中挪用一次loadwx.ready(()=>{ audio.play(); // 耽误自动播放 // audio.load(); })
假如是静态的audio标签,而资本途径是经由过程接口拿到的,那末就须要把设置资本途径的操纵也放到
wx.ready
中wx.ready(()=>{ audio.src = YOUR_AUDIO_URL; audio.play(); })
- 假如audio标签是页面加载后动态建立的,那末iOS版的微信想要完成自动播放貌似是不能够的,最少我是没有找到明白的要领,在此谦虚讨教。
对iOS音频自动播放的通用解决办法是把音频播放放在用户行动回调中,比方:给window增加一个touchstart的eventListener,在callBack中play
window.addEventListener('touchstart', function autoPlay() { audioElm.play(); window.removeEventListener('touchstart', autoPlay, true) }, true)
wxjssdk
接口权限的猎取
SPA下路由形式只能用hash,config的页面URL不能照顾hash部份
接口挪用距离
资本相干(图片灌音)的接口,挪用时须要有一个最小距离时候,不然会挪用失利,而且不报错,现在我是给了一个100ms的距离,除了在初次灌音(唤起权限弹框)时会偶然返回’too short’,其他接口都能一般运转。
分享
iOS的link不能包括未转码的特别字符,在某些机型上会形成分享失利。
涌现过success回调没法运用HTTPRequest的状况,耽误100ms即可。
二维码辨认题目
网上找到的
- 二维码图片必需放在img标签里才辨认
- 一屏内不能涌现两个二维码
- iOS 6.2.2中二维码的辨认位置要比现实位置高64px(标题栏的高度),要在图片底部加padding。iOS 6.2.4中已修复
- viewport meta标签的设置,会影响二维码辨认
我试出来的
- iOS微信客户端内,假如页面链接中含有未转码的特别字符,能够会致使二维码没法辨认
以上
假如碰到新的题目会继承更新