以下内容均为微信内置浏览器访问的场景。本文只阐述微信分享的URL的坑,不阐述具体的代码实现和JS-SDK的具体使用。
大家有没有发现,某些网站访问的路径与最终分享的路径不同!对,没错,就是不同。
微信JS-SDK分享的URL有三种情况:
a.访问路径与分享路径一致,这种情况相信大家做分享是没有问题的。
访问URL:https://www.baidu.com/aa.html
分享URL:https://www.baidu.com/aa.html
b.访问路径与分享路径同域名,但后面的页面或者参数不同。
访问URL:https://www.baidu.com/aa.html
分享URL:https://www.baidu.com/bb.html 或者 https://www.baidu.com/aa.html?comfrom=xxx
c.访问路径与分享路径域名不同,后面的页面和参数不同
访问URL:https://www.baidu.com/aa.html
分享URL:https://www.google.com/bb.html
最容易出现问题的是b和c两种场景,实际上微信是支持这两种场景的,微信的官方文档没有具体的描述,是多次采坑和多次尝试后发现,后面对比官方demo也是如此使用。
在此过程中发邮件至微信分享的邮箱,但过去3天了,没有任何回应。
具体的使用方法如下:
1.页面引入微信的sdk对应的js文件。
2.将当前页面的url进行加密 window.location.href.split('#')[0],得到四个参数,调用wx.config进行配置,如果最新版本微信不报错,则说明成功。
3.调用wx.ready方法,在里面进行微信分享的配置,注意此处配置的参数中的url可以不为当前url,官方描述必须为微信对应的JS安全域名,(此处没有测试非JS安全域名的情况)。
至此,可以实现微信分享访问的URL与分享后的URL不同的情况。