区分QQ、微信分享

403 阅读1分钟

区分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的参数。