关于H5+vue-cli项目在Safari浏览器中的兼容性处理方案总结
需求描述:
- 最近在vue-cli开发的H5项目中集成了微信JSSDK以解决项目中的一些需求,在项目测试的时候遇到了兼容性的问题:在android系统的微信浏览器以及PC端微信开发者工具中测试没有任何问题,但是在IOS系统的Safari浏览器中测试时发现,当到达指定页面时,页面中JSSDK鉴权需要使用当前页面的url信息,在此时刷新页面后取得的url信息不能及时更新,导致当前页面再使用url信息做鉴权操作时就会报鉴权失败;换一种方式,当在当前页面刷新之后再回退到上级页面,再进入目标页面,此时就是正常的。测试到这里初步判断为Safari浏览器存在兼容问题。
解决方案:
-
经过上述的问题发现,vue-cli项目在Safari浏览器中刷新后当前页面的路由信息与url信息没有同步更新,导致了上述问题的发生。
-
// 网上有反馈this.$outer.go()方法不兼容Safari,其实这里的vue-router是与Safari浏览器存在兼容问题,其实可以发现vue-router中不仅仅是go(