关于H5+vue-cli项目在Safari浏览器中的兼容性处理总结

关于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()方法,也是存在兼容问题的,只不过不在特定环境中使用是没有什么影响的。虽然vue-router底层也是基于浏览器的history进行路由操作,但是history与Safari是存在兼容的,网上也有反馈history.go()方法不兼容Safari,也就是说HTML5的部分新特性是与Safari是存在兼容的。
      <
上一篇:h5 移动端 调试工具有哪些?


下一篇:H5核心技术---H5新增的标签