最近手机项目又遇到了好多坑,整理下一下
1. ios的无痕浏览模式下不能操作本地存储
项目中页面后退是通过sessionStorage存储的页面层级关系,最近测试说后退的时候总是有问题,调试后发现在操作sessionStorage的时候会报QUOTA_EXCEEDED_ERROR: DOM Exception 22错误。google之,发现是开启了private mode browsing(私人浏览模式),神马玩意!!!再次google之,原来中文翻译叫无痕浏览,关闭后就可以用sessionStorage了。貌似这玩意一般是在升级ios7.xx后就默认开启了。具体信息见https://discussions.apple.com/thread/5711263。
2. 安卓4.xx的input文本框在内容为空时按删除键不会触发onkeydown事件
项目中有个功能是在选择文本框的内容后会在文本框前添加一些内容,在文本框里退格删除时会依次删除掉前面的内容,发现小米手机上在文本框内容为空后按删除没反应了,google之,发现android App开发也会有这问题,app有方法可以解决,web却没有,十分蛋疼,再一次证明安卓真的是X一样的系统。
3. 小米手机自带浏览器下载文件失败的问题
用户下载文件的时候浏览器会发3次请求(有些浏览器2次,有的1次),第一次和第三次会携带cookie,第二次不会,由于我们下载文件是需要检验用户信息的,必须要有cookie,因此第二次会请求失败。蛋疼的小米自带浏览器缓存了这个结果,第三次虽然有cookie,但浏览器使用了第二次的结果,因此会导致下载失败。解决方法是在http头中加入Cache-control: no-cache,不使用缓存。
以上问题是近期遇到的比较蛋疼的问题,死了好多脑细胞,后续会继续补充一些遇到的坑。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。