我有一個基本的html頁面,其中有指向不同站點的鏈接。我想要做的就是跟蹤點擊次數。我這樣做是通過在鏈接的Click事件上發送一個0像素圖像調用而不在點擊事件上返回false。鏈接點擊跟蹤在Safari瀏覽器上不起作用
對於除Safari之外的所有瀏覽器(在Windows操作系統上),這同樣工作正常。
當使用javascript點擊鏈接時我延遲重定向併發送圖像請求到服務器並記錄點擊服務器端。我試圖增加延遲,但沒有成功......追蹤器在除Safari之外的所有瀏覽器上工作gr8,它根本沒有發送請求。
我不知道爲什麼,但可能它對於整個JS野生動物園等待發出請求之前,整個JS執行的時候被重定向後執行....
======= ==================================================
<html>
<head>
<script type="text/javascript">
function logEvent(){
image = new Image(1,1);
image.onLoad=function(){alert("Loaded");};
image.onLoad=function(){alert("Error");};
image.src='http://#path_to_logger_php#/log.php?'+Math.random(0, 1000) + '=' + Math.random(0, 1000);
pauseRedirect(500);
}
function pauseRedirect(millis){
var date = new Date();
var curDate = null;
do {curDate = new Date();}
while(curDate-date < millis);
}
</script>
</head>
<body>
<a href="http://www.google.com" onclick="logEvent(); return true;">Site 1</a><br/>
<a href="http://www.yahoo.com" onclick="logEvent(); return true;">Site 2</a><br/>
</body>
</html>
=========================================== ==============
代碼適用於chrome,firefox,ie和Opera。不適用於Safari只有.....任何線索....
你是否在等待圖像完成加載或做像`setTimeout()`?我們可以看到一些代碼嗎? – alex 2011-02-09 13:54:52