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