微信分享链接被添加参数导致网页无法正常访问
Android和iOS的APP使用了微信提供的分享功能,而分享到微信内的链接会被添加参数。
例如,原地址是:
http://example.com/page?s=mobile&v=share
但分享到微信后,其他人点击跳转到的地址变成了:
http://example.com/page?s&from=singlemessage&isappinstalled=1
可以看出原参数被破坏,而原网页必须要这几个GET参数才能返回供微信使用的特定版本,所以是有问题的。
那么,有办法可以让在微信在这个过程中不破坏原来的参数吗(例如微信支持某种符合要求的特定格式)?
问题补充:
我觉得,微信本来应该只是添加了参数,并不会破坏原有参数。所以,可能是我APP调用微信的方式不对?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
已找到问题原因。微信本身并不会破坏原有参数,是我APP的处理方法有误。
我APP会收到一长串经过URI编码的字符串,然后需要分析读取内容,再将其发送到微信分享。
例如:
这里的zzzzzz本身是比较复杂的url经过JavaScript的
encodeURIComponent()
编码后得到的字符串,我在解析的时候,直接上面一整个字符串进行解码,所以原来比较复杂的url中携带的&
、=
就被我误解析了。改为先解析,然后每一项内容(title、url、content)分别解码就可以了。
也感谢 @phodal。
这个应该是没有办法的。微信会自动添加
isappinstalled
添加。想办法在后台处理。//默认显示配置的 title