为了跟踪整个用户点击流,如果用户右键单击并在链接上选择“在新选项卡中打开”(或大多数浏览器中的中键),我想触发一个 javascript 事件。大多数这些链接都链接到我的网站之外,我想尽可能少地干扰整体浏览器体验(例如:状态栏等)。有什么选择可以解决这个问题?
4 回答
如果您正在寻找查看出站链接命中的方法,您可以尝试以下方法:
使用脚本,例如 link.php?src= http://www.example.com在单击时为每个 IP 和用户代理组合增加一个计数器。然而,这在状态栏中看起来不太好。它也可以被网络爬虫保存。
使用不显眼的 JavaScript 将事件处理程序附加到外部链接上。如果主机名存在并且与您所在的主机名不匹配,您可以确定它们是否是外部的。然后,您可以使用此事件处理程序来保存 href,防止默认单击事件,像第一个脚本一样增加一个数字,然后将 window.location 发送到实际的 href。如果没有启用/支持 JavaScript,这当然会失败。
用户可以通过多种方式在浏览器中创建新选项卡:
- 中键单击
- 上下文菜单
- 鼠标手势
- 工具栏上的“新标签”按钮
- “文件”>“新标签”
不幸的是,没有办法处理所有这些以及可能创建新选项卡的更多用户操作。
你可以做一个简单的服务器重定向并记录它获得的点击
量或者它必须是 js 吗?
中间点击捕获确实有效。
你
必须检查浏览器版本(ie6 在中键点击时不会打开任何东西),
必须使用 mousedown 和 mouseup 来检查这两个事件是否发生在同一个元素上,
必须检查按下了哪个按钮。(例如 jQuery “which” 函数)
如果 mousedown 和 mouseup 发生在同一个元素上,则会打开一个新窗口,因此您会知道您的链接已被点击。