这是一个讨厌的问题。从JavaScript触发目标= _blank链接
我有一个外部链接。
<a href="http://www.example.com" target="_blank">
现在我想在每次点击链接时跟踪Google AdWords转化。
为此,我添加了一个加载Google图像的click
事件。图像计算转换。为了确保在用户离开之前加载图像,我使用图像的load
事件继续处理原始链接的目标。
$("#linkname").click(function() {
var element = document.createElement("img");
element.onload = function() { ..... };
element.setAttribute("src", "http://www.googleadservices.com/....");
document.body.appendChild(element);
});
这将工作正常使用location.href
。但是,它不适用于target="blank"
链接。 我很困惑要打开一个新窗口,需要将哪些内容放入onload函数中。
我不能使用
window.open
因为它会通过弹出窗口拦截捕获(因为它位于图像的onload
事件,它类似于一个无关的链接是一个纯粹的程序化调用)另外,在没有任何选项的情况下调用window.open并不会在Google Chrome中给我任何控制权。我不能让
click
事件继续它的正常过程,因为我必须等待图像加载,这是一个异步操作!
我需要什么,本质上,是打开一个target="_blank"
链接程序,一些可能是不可能的,因为它可以通过弹出阻滞剂断路器被规避的方式。
或者,我需要一种方法来可靠地计数点击,同时让链接的原始click
事件继续按照它的设想。
有没有人有想法该怎么办?
由于链接在新窗口中打开,因此您无需等待图像加载。让图像在当前窗口中加载(按原样完成)并让用户正常看到新窗口。在加载图像之前用户可能不可能关闭窗口,因此计数不会受到干扰。 – 2011-03-12 01:54:39
@amit是我刚才的**精确**实现。总的情况是过度复杂:)随意添加,作为答案。 – 2011-03-12 01:55:55
有时我们需要第二双眼睛:) – 2011-03-12 01:58:44