ios微信分享失效,不支持history.pushState方法
作者:互联网
微信分享 ios分享失败
问题定位了很久,安卓没有问题,ios就是分享不成功/(ㄒoㄒ)/~~
背景:
在微信授权的时候,用户同意授权,获取code,如果用户同意授权,页面将跳转至
redirect_uri/?code=CODE&state=STATE。
拿到code之后,可以去获取用户的openid
。但是因为code
只能用一次,所以在获取到openid
之后,利用window.history.pushState()
方法,清空了location.search
window.history.pushState({}, '', window.location.origin + window.location.pathname + window.location.hash);
ios微信不支持history.pushState
方法,查了很多的资料,贴两个典型的问题
ios微信开网页history.pushState页面链接不改变,4年的老问题了
history.pushState 苹果微信浏览器无效
解决方法:
我直接将openid放到localStorage里面,然后用window.location.href强制重新刷了页面。因为我页面需要保存的变量不多,所以改成window.location.href不是特别麻烦。但是如果页面很复杂,需要保存的变量很多,那就很麻烦,暂时没找到很好的解决办法。
记录一下,有好的解决方式再来更新
标签:微信,ios,window,location,pushState,history 来源: https://blog.csdn.net/Jane_96/article/details/112847564