需求是做一个数据统计网站的来源,可是怎么获取呢?
有用 document.referrer 属性的,可是这个属性限制太多,经常获取不到值
请问还有什么方法呢?
比如我分享一个链接到微信,然后微信直接点击链接用默认浏览器打开。
需求是做一个数据统计网站的来源,可是怎么获取呢?
有用 document.referrer 属性的,可是这个属性限制太多,经常获取不到值
请问还有什么方法呢?
比如我分享一个链接到微信,然后微信直接点击链接用默认浏览器打开。
一般来说通过 referrer
属性来获取,同一个浏览器中的打开链接,可以获取到来源的网站。
如果是微信的打开的话,多半是需要从 URL
中获取微信拼接的 query
参数来判断(不是必定有)。不过如果是微信的话,倒是可以通过 UA
头来判断。
总的来说并没有一个万能的方法,因为不同的场景就是需要用不同的判断方式来判断和处理。
另外一个就是你需要统计的两个维度不一样,一个是来源网站,一个来源设备。
来源网站 可以用 referrer
来统计。
来源设备 可以用 UA
头来统计。
5 回答9.6k 阅读✓ 已解决
6 回答3.3k 阅读
14 回答3.5k 阅读
4 回答1.4k 阅读✓ 已解决
6 回答1.8k 阅读✓ 已解决
12 回答5.5k 阅读
3 回答2k 阅读✓ 已解决
这个你是不是应该用 http 协议中的
user-agent
。下面以我的 iphone 为例。
微信内部浏览器打开能够获取到的头信息包含了
MicroMessenger
:如果是微信打开后,选择默认浏览器打开,如果没有额外的手段,在我从 http 的头信息来看,没有任何方法能够知道打开的来源是微信,实际上也确实不是微信,因为这只是微信把连接交给了默认浏览器打开:
其实你是不是可以换一个思路,在生成分享链接到微信时,动态生成一个
id
在url
中,你在内部保存这个id
是属于微信的,如果被访问,你就知道了这是从微信访问的,同时你也可以利用这个id
,来限制用户只能在微信中访问。