我希望我的链接看起来像合法网址,但行为有所不同,如点击事件发生时转到我定义的某个跟踪网址。 当我用鼠标左键单击链接时,我可以用.click()处理程序捕捉它,并将href更改为其他内容。当我点击右键时,它不会被.click()捕获,但我可以使用.mousedown()和.mouseup(),这只是我的问题的部分解决方案。在jQuery链接中检测右键单击的“在新选项卡中打开”?
问题是,我想确保当某个用户右键单击链接时,链接仍然看起来合法,但是当他选择在新选项卡中打开链接时,我会捕获该事件并更改HREF。最后,当链接上发生实际的点击事件时,href将被更改回原始。他们真正去的网址,做了一些事情,并将它们重定向到真实的网址,但它发生得非常快。因此,此功能的目标是欺骗用户并跟踪他们的点击次数。 Facebook做到了,但他们如何处理右键点击和“在新标签中打开”?
好了,如果没有一些代码,我想不会成气候.. 一些代码,我现在所拥有的:
link = $(selectorName);
var original_link = link.attr("href");
link.click(function(){
link.attr("href", "/track_and_redirect");
}).mousedown(function(event) {
switch (event.which) {
case 3:
//alert('Right mouse button pressed');
link.attr("href", "/track_and_redirect");
break;
default:
}
}).mouseleave(function(){
link.attr("href", original_link);
});
目前,当你右键点击该链接后,新的URL将在浏览器中显示的角落,我该如何绕过?
你是说你想要的实际链路发送他们不是“合法”呢? – musefan 2013-04-11 08:59:45
*“我希望我的链接看起来像合法网址,但行为不同,就像去我定义的某个跟踪网址”*不要。不要。执行Google在搜索结果页面上的操作:通过链接将您带到重定向到目标的跟踪页面。 (甚至他们所做的有点邪恶,因为当你悬停链接时,你在状态栏中看到的并不是你想要的真实链接,他们会覆盖状态文本。) – 2013-04-11 09:00:48
为什么倒下的票?有些事不清楚吗?没有研究工作?没有必要采取这种情感。 @musefan:他们将被引导到跟踪网址,但链接本身需要看起来像直接到达目标网址。 – test 2013-04-11 10:04:29