我在点击链接时尝试调用以下1x1像素(sact.atdmt.com)。它实际上只返回1x1图像,但用于ping我们的服务器,实际上是在这个实例中计算一次点击。
<a href="http://www.google.com/" onclick="javascript:img1=new Image(); img1.src='http://sact.atdmt.com/action/adofat_ImageTest27_1'; img1.height='1'; img1.width='1'" ;="">test</a>
以上代码仅适用于IE。我无法弄清楚为什么它在Chrome或Firefox中不起作用。我认为存在某种竞争条件,在onclick函数执行更改之前,href正在被解析,但它只存在于这些浏览器中。
这有什么问题吗?
谢谢,
答案 0 :(得分:1)
修复语法错误并添加return false;
<a
href="http://www.google.com/"
onclick="javascript:img1=new Image(); img1.src='http://sact.atdmt.com/action/adofat_ImageTest27_1'; img1.height='1'; img1.width='1'; return false;"
>test</a>
顺便说一句,如果你没有显示图像,那么你就不需要设置图像的高度/宽度
答案 1 :(得分:0)
Ejay的答案很好,但我觉得有必要提一下,我通常会远离onclick =。这是因为屏幕阅读器无法将onclicks可靠地注册为实际的点击事件。
所以,如果你有兴趣......这是安全的做法。
function imageClickHandler(){
var img1;
var img1=new Image();
img1.src='http://sact.atdmt.com/action/adofat_ImageTest27_1';
img1.height='1';
img1.width='1';
}//end function
document.getElementByID("TheExampleLink").addEventListener("click",imageClickHandler,false);
<a href="http://www.google.com/" id="TheExampleLink">test</a>
我希望这有帮助,你考虑不使用onclick。 :)