我通过使用 AJAX 但在 Firefox 中调用页面来计算链接的点击次数,显然是因为调用的页面从未实际加载,出于某种原因 Firefox 从未调用它。似乎点击了链接,然后 Firefox 进行了 AJAX 调用,但不知何故,因为页面更改为 href 中的实际链接,然后 AJAX 调用从未真正发送(在 firebug 中显示为红色,在 Fiddler 中没有任何迹象)。它在 IE 和 Chrome 中运行良好,如果我将链接更改为 target="_new",那么它将在 Firefox 中运行。我犯了某种愚蠢的错误吗?
<HTML>
<HEAD>
<script type="text/javascript">
function adtrk(cde){
var ajaxRequest; // The variable that makes Ajax possible!
var r=Math.random();
try{
// Opera 8.0+, Firefox, Safari
ajaxRequest = new XMLHttpRequest();
} catch (e){
// Internet Explorer Browsers
try{
ajaxRequest = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
try{
ajaxRequest = new ActiveXObject("Microsoft.XMLHTTP");
} catch (e){
// Something went wrong
alert("Your browser broke!");
return false;
}
}
}
// Create a function that will receive data sent from the server
ajaxRequest.onreadystatechange = function(){
if(ajaxRequest.readyState == 4){
var ajaresp = ajaxRequest.responseText;
}
}
ajaxRequest.open("GET", "/atr.php?cde=" + cde + "&r=" + r, true);
ajaxRequest.send(null);
}
</script>
</HEAD>
<BODY>
<a onclick="adtrk('zip1'); return true;" href="http://www.google.com"><img src="/images/img.jpg"></a>
</BODY>
</HTML>