最近做的项目在错误监控后台fundebug 检测到异常
1 、QuotaExceededError: Dom exception 22: An attempt was made to add something to storage that exceeded the quota (ios8 机型)
2、QuotaExceededError (DOM Exception 22): The quota has been exceeded. (ios10机型)
觉得很奇怪,因此查了相关资料发现是ios10及以下 在Safari的无痕模式下 读取或写入 localstorage 时会报这种错误,因此写代码时如果要兼容老版本时应该避免使用localstorage,如果实在要用可以使用cookie代替,当然如果非要用localstorage,则可采用try catch的方式 提示出问题用户关闭无痕模式;
另:今天排查问题发现,在微信内置浏览器显示vconsole图标,但是在Safari中就是不显示,通过猜测觉得可能用户js功能未开启,让他们检查,果然有的用户的Safari居然关闭了js功能,坑。
总结:
1、对外项目一定要使用错误监控,如果等用户反馈过来,需要很大的沟通成本,且具有一定的延迟及影响解决问题的效率;
2、不应该单纯靠猜测,有时候需要查资料确认;
3、不放过任何错误细节;
4、充分了解用户可能的使用系统环境(如系统版本)、使用习惯(如无痕模式、关闭js功能)等;
5、调试九法中的 别忘记检查插头很重要;
网友评论