从Javascript捕获链接点击事件

时间:2009-03-17 23:58:01

标签: javascript javascript-events

为了跟踪整体用户点击流,我想发送一个javascript事件,如果用户右键单击,并选择链接上的“在新标签中打开”(或在大多数浏览器中单击)。这些链接中的大多数都链接到我的网站之外,我想尽可能少地干扰整体浏览器体验(例如:状态栏等)。有什么选择可以解决这个问题?

4 个答案:

答案 0 :(得分:2)

如果您正在查看查看出站链接匹配的方法,可以尝试以下操作:

  • 使用脚本,例如link.php?src = http://www.example.com,每个IP&增加一个计数器单击用户代理组合。然而,这在状态栏中看起来不太好。它也可以通过网络抓取工具保存。

  • 使用不显眼的JavaScript在外部链接上附加事件处理程序。如果主机名存在且与您所在的主机名不匹配,则可以确定它们是否为外部。然后,您可以使用此事件处理程序来保存href,防止单击事件的默认值,增加与第一个脚本非常相似的数字,然后将window.location发送到实际的href。如果没有启用/支持JavaScript,这当然会失败。

答案 1 :(得分:1)

用户可以通过多种方式在浏览器中创建新标签:

  • 中键点击
  • 上下文菜单
  • 鼠标手势
  • 工具栏上的“新标签”按钮
  • “文件”> “新标签”

不幸的是,没有办法处理所有这些以及可能创建新标签的更多用户操作。

答案 2 :(得分:0)

您可以执行简单的服务器重定向并记录它获得的命中 或者它必须是js?

答案 3 :(得分:0)

中间点击捕获确实有效。

  • 必须检查浏览器版本(ie6在中间点击时不打开任何内容),

  • 必须使用mousedown和mouseup来检查这两个事件是否发生在同一个元素上,

  • 必须检查按下了哪个按钮。 (jQuery“which”函数,例如)

如果mousedown和mouseup在同一元素上发生,则会打开一个新窗口,因此您将知道已点击您的链接。