区分QQ与微信
打开分享链接页面,我们可以通过userAgent去区分QQ或微信。
代码如下:
let ua = navigator.userAgent.toLowerCase()
if (ua.match(/MicroMessenger/i) == "micromessenger") {
// 微信
} else if (ua.match(/QQ/i) == "qq") {
// QQ
} else {
// 其他
}
区分微信消息与朋友圈
当页面被分享到微信,打开页面时微信会自动在url上添加参数from,我们可以借助该参数去区分页面来源。from有三个值,分别为:
- groupmessage: 群消息
- singlemessage:私聊消息
- timeline:朋友圈
注:对于QQ,ios系统会在分享到消息的链接中添加参数appinstall,分享到Qzone的链接中不会携带该参数,而在安卓系统中两处分享都不会携带该参数。QQ分享url中没有用于区分消息和Qzone的参数。