第一个是网上很多网友提出的问题:就是安卓机上微信里面无法播放视频的问题,而ios里面却不存在;
这个就要责怪一下傻逼微信了,微信里面调用的浏览器内核是QQ浏览器X5内核,我们在点击自己的视频的时候实际上没有真正点击到视频,所以你必须给视频的controls添加一个监听事件,所以我给视频添加了一个封面,监听点击封面事件
image.addEventListener("click",function(){ var video=document.getElementById("VIDEOID"); video.play() })
这样视频就能播放了,ios里面调用的是safiri,不存在获取不到视频这个问题,所以点击视频的时候就播放了,而且自动全屏;
第二个问题就是安卓机里面正常而ios里面一直报invalid signature的情况:这个问题的原因是因为url的问题,我们配置config的时候总要传一个url上去,这个url=location.href ........ 动态获取,而到ios的微信里面的时候,实际页面的网址是你的一级网址:比如说你想的网址为wx.baidu.com/myhref 而ios里面解析到的当前网址为wx.baidu.com 没有后面那一级,这个不知道是ios坑还是微信坑,反正都很坑,遇到这个情况,我们要先获取浏览器的类型,ios直接传wx.baidu.com 安卓机的话获取下url就可以了;
第三个问题就是微信的调试功能,这个太TM坑了,微信规定调试的时候必须在安全域名里面调试,可是都TM的发布到安全域名了还调个屁啊,对于前端人员来说确实太坑了,所以我用了charles,配置情况为from:wx.安全域名to 127.0.0.1:80(本机地址);
这样你在微信里面输入wx.安全域名就可以访问你的页面了,注意微信的缓存机制太强大了,你修改代码重新调试的时候注意清下缓存;
更多的问题以后遇到了再补充,真心觉得微信太渣,不用说和国外的SDK比较,就比百度也差了不只一点两点;