如何处理“在新标签中打开”事件?

时间:2013-03-25 10:03:27

标签: javascript browser

我正在开发一项服务,该服务在页面上呈现一系列资源。 资源 - 是数据库中的记录,具有“url”和“visited”字段。

当用户点击资源网址时,它会通过发送ajax PUT请求在数据库中标记为“visited:true”。 它运行良好,直到用户决定在新标签中打开网址。 当我打开给定网址的上下文菜单并选择“在新标签中打开”时,javascript不会捕获此事件,并且数据库中的记录将不会更新。

在这个问题Javascript Event for "Open in new Tab"中,他们建议将“click”处理程序更改为“onmousedown”。 但是,这个处理程序只是打开上下文菜单,甚至,当我关闭它时,没有选择任何东西。

是否有任何标准方法可以处理“在新标签页中打开”事件?

谢谢!

1 个答案:

答案 0 :(得分:3)

首先将资源网址重定向到您的网站(yoursite.com/record_click?to=actual.url)。当用户点击URL时,无论如何,您都可以跟踪URL打开 - 甚至可能不再需要AJAX请求。