本文记录了开发过程中微信/手机浏览器遇到的一些兼容性问题。工作是维护一个公众号页面,支持手机浏览器的使用。style样式问题iosdeviceplaceholder不垂直居中解决方法:设置input的line-height为normaljs交互问题微信sdk问题调用api提示签名无效具体表现:微信sdk需要请求后端接口获取配置参数inadvance,然后在调用相关api之前调用Register相关api配置。然后Android采用打开后在各个相关页面调用注册ChooseImage(我项目中使用)的方法,表现正常;ios报非法签名的错误,官方文档中的方法试了也没用(官网的url和相关资料讲了url的问题和参数的问题,记住url要经过处理编码URI组件)。开启debug:true后,原地刷新可以看到配置成功,但是页面上传图片的操作还是报错,返回进入当前页面,功能正常(可能是是我在上一页和本页重复注册了)。解决方法:ios设备调用前只需要注册一次即可。如果注册失败,需要原地刷新window.location.reload()。我尝试在注册方法的错误回调中重新注册。如果失败,必须原地刷新。同时,为了避免极端情况下失败页面的无限刷新,我使用sessionStorage存储了一个变量标识符,在进入项目前清空,注册后调用成功时修改标识符,保证了页面最多刷新一次(我不想使用Timestamp参数,参数处理url要特殊处理)。
