2014-02-24 100 views
0

我想在網頁上放一個鏈接,並顯示鏈接收到的點擊次數。 這裏是我當前的代碼:如何統計鏈接點擊次數?

<!DOCTYPE html> 
<html> 
<head> 
<script> 
    function clickCounter() { 
     if (typeof (Storage) !== "undefined") { 
      if (localStorage.clickcount) { 
       localStorage.clickcount = Number(localStorage.clickcount) + 1; 
      } else { 
       localStorage.clickcount = 1; 
      } 
      document.getElementById("result").innerHTML = localStorage.clickcount; 
     } else { 
      document.getElementById("result").innerHTML = "Sorry, your browser does not support web storage..."; 
     } 
window.location = 'http://www.google.com'; 
    } 
</script> 
</head> 

<body link="White"> 
    <p align="center"> 
     <p> 
      <button onclick="clickCounter();"><span style="font-size:35px;" font face="Face"> Please Click Here to Access QLM </span> 
      </button> 
     </p> 
     <div align="center" id="result"></div> 
</html> 

那麼,問題是如何使「結果」文本可見,我們點擊按鈕之前?因爲當我運行該腳本時,「結果」文本在我單擊按鈕之前不會出現。

+3

你知道,使用本地存儲將顯示每個用戶的次數他們自己點擊了鏈接,而不是所有用戶的點擊總數? – nnnnnn

+0

也許你想在重定向之前設置Timeout? (localStorage.clickcount){ –

+0

在你的函數之前添加:if(localStorage.clickcount){(「#result」)。text(localStorage.clickcount); } else {$(「#result」)。text(0); } –

回答

1
window.onload=function(){ 
document.getElementById("result").innerHTML = localStorage.clickcount; 
}; 

您必須將代碼填充到onload函數的結果中,以在頁面加載時顯示它。

+0

好的,我現在明白了:D 謝謝!歡迎使用 –

+0

;) – nowhere

1
window.onload=function(){ 
    if(localStorage.clickcount) //for undefined result 
    document.getElementById("result").innerHTML = localStorage.clickcount; 
}; 
0

使用jQuery ..

<script> 
    $(document).ready(function() { 
     $('#result').html(localStorage.clickcount); 
    }); 
</script> 
0

這是錯誤的方式去解決這個問題,因爲使用本地存儲將顯示每個用戶,他們已經點擊了鏈接本身的次數。

要跟蹤總點擊次數,您需要做的是使用服務器端技術,例如點擊向PHP腳本發送ajax請求,該腳本將記錄文本文件或數據庫中的總點擊量或一些東西。

如果你這樣做是爲了獲得任何嚴重的一種指標,你最好去下一個既定的路線,如谷歌分析:https://developers.google.com/analytics/devguides/collection/gajs/eventTrackerGuide