记录:微信二次分享自定义分享信息丢失问题

记录:微信二次分享自定义分享信息丢失问题_第1张图片

前言

最近在做一个基于微信端H5小游戏,由于优化的原因使用H5的一个新特性 history.replaceState,然而就是这样不知不觉就踩坑了。

错误示例:

记录:微信二次分享自定义分享信息丢失问题_第2张图片

说是错误示例,并不是说这代码有错误,并且坑的是在微信的调试工具中也是没有报错,说真微信的调试器也算是个坑了,之前坑也是跳了不少[捂脸],另外,在首次分享的时候也不会报错,应该说是分享url不带参数的时候,不会出现自定义分享信息出现丢失情况,一旦带上参数,并且只要是从别人分享的入口进入都会出现此异常,比如说下面的链接,从朋友圈中的分享入口进入:

http://domain.com/Game/bubble?from=singlemessage&isappinstalled=0

都会带上这一串参数:?from=singlemessage&isappinstalled=0
当分享的时候就会出现上面的问题。

上面的代码我会这样写,主要是因为授权会传code过来,为了防止用户停留过久然后刷新,code失效,导致异常,因此使用了以上代码,将原本带参数的链接替换成不带参数的链接,然而就是这样……gg了,本来运来可以跑起来的代码,因为今天做了一下“优化”就中招了。

当出现异常后,特意出烦了一下微信开发者文档 看到了下面这段:

记录:微信二次分享自定义分享信息丢失问题_第3张图片

真是奋不顾身往坑跳[捂脸],少年,你还是太年轻了!

然后,将以上js代码删除,测试,果断可以!

坑坑更健康[捂脸]

最后附上案列(不是软文,这就是我写的)


记录:微信二次分享自定义分享信息丢失问题_第4张图片

你可能感兴趣的:(记录:微信二次分享自定义分享信息丢失问题)