2010-08-05 94 views
1

我記得幾年後,我用某個地方的黑客來更新後臺鏈接。我記得的是,我的鏈接上有一個onclick事件,它觸發了一個嘗試加載圖像或其他東西的javascript函數(這是破解),但是您將圖像(或其他任何東西)放入網址中'mysite.com/updatehits.php?id=3'javascript在後臺加載url

希望這是有道理的:S

+0

也許這是iframe? – Codler 2010-08-05 12:00:16

回答

4

假設你有此鏈接:

<a id="link" href="foo.html">Click for foo</a> 

您希望用戶訪問該鏈接,但透明地通過ajax調用'hit counter'。這可以這樣做:

$("#link").click(function(e) { 

    // prevent the link from getting visited, for the time being 
    e.preventDefault(); 

    //update the counter 
    $.post("counter.php" {incrementCounter: this.href}, function(resp) { 
     if(resp == "success") { 
      alert("updated"); 
     } else { 
      alert("failed"); 
     } 
     // updated. Now visit this link as normal 
     window.location.href = this.href;   
    }); 
}); 

不過,我認爲計數意見是最好的服務器端完成的東西。另外,這會在訪問鏈接時導致用戶惱人的可察覺延遲。

+0

我實際上使用的是基於Google Analytics的庫,其功能大致相同。不過,我不認爲你真的需要'e.preventDefault()'。這和默認值都應該在點擊時運行,沒有問題。 +1 – 2010-08-05 12:33:16

+0

你如何提出計數鏈接服務器端?跟蹤點擊次數最常用的方法是什麼? – breez 2010-08-05 13:21:50

+0

我不知道最常用的方法是什麼,但是您可以始終讓鏈接看起來像這樣:/ to_url?from_url =/from/url,然後您可以在每個頁面處理它們的服務器端。 – matts1 2014-07-17 07:51:38