h5开发总结经验
移动端的开发要考虑兼容性,尤其是不同内核的浏览器。主要需要检查的顺序:PC端chrome缩放 -> 移动端chrome/移动端安卓原生浏览器 -> 苹果手机端safari。
在车牌号输入器的开发中遇到的问题
1、ios设备不兼容fixed,解决方案:使用float或absolute。
2、grid布局中常用到的fr这一单位可能在ios中有异常。
3、移动端开发时宽高要注意设置。
在移动端票夹功能的下载问题
先说结论,在安卓浏览器中开发下载功能非特殊统一使用window.open来进行下载,后端需要设置content-disposition,最好设置content-type为对应格式(有些浏览器不设置无法识别后缀),一般为get请求。如果需要鉴权,可以在url使用params传参,当然要注意长度别超了。另外听说参数过长也可以使用post请求等来解决,这里答主暂未使用,大致是使用form表单的提交模拟下载。
再说踩坑经历,首先我是使用base64转码再使用blob下载的,这种方法是模拟a标签点击,一般报下载失败,有时还会出现后缀错误。于是我让后端换成了流的方式下载,但是他要鉴权,不让我用window.open,结果还是一样的,有兼容性问题。最后鉴权拼接在了url中才得以实现。