2009-02-17 71 views
2

我的任務是確定是否有可能使用javascript檢測鏈接點擊。如何監視用戶點擊通過Javascript的鏈接?

我知道onclick屬性,它讓我成爲那裏的一部分。除此之外,我不知道最好的方法是什麼。我已經告訴我的老闆,它可能會涉及某種形式的ajax,這可能涉及一個大型圖書館,這是不可接受的。

是否有任何其他方式然後使用ajax,或反正使用ajax不會增加很多時間?

編輯:他希望能夠告訴用戶使用該網站主頁上的鏈接的次數。不幸的是,我們不能做一個光鮮的服務器端解決方案,因爲幾乎網站上的所有頁面都只是純html。我很樂意將所有頁面轉換爲php或其他替代方法,只需記下HTTP_REFERRER數據,但目前尚不可能。

我們已經在使用Google analytics;它不會記錄推薦人數據。

再次編輯:事實證明,我的老闆還沒有看到覆蓋,我猜他點擊了所有的標籤。經過我的調查,最初他們都報告零點擊,但我發現我們有舊版本的谷歌分析blurb到位。快速升級到新的熱點並解決問題。

感謝所有的迴應。

+0

你有沒有後端?如果沒有,並且Google Analytics(分析)功能無法實現,那麼您的老闆會如何動態地跟蹤點擊數據? – 2009-02-17 22:26:16

+0

@crescentfresh:神奇。他們想要GA,他們似乎不知道如何正確使用它。 – GEOCHET 2009-02-17 22:32:36

+0

我對上述人員的能力沒有任何要求。 :) – Allyn 2009-02-17 22:43:51

回答

2

jQuery.min.js大小爲30k或以下。這並不大。

爲什麼你的老闆想監視鏈接點擊呢?如果是在您自己的網站上的網址,那麼您應該能夠從訪問日誌或Google Analytics中獲取該信息(或者該信息的一些更有用的變體)。

2

不會討論這是否是一個好主意,但是這裏有一些代碼可以完成你的標題要求。

就像你自己說的那樣,onclick事件是一種方式。您需要創建一個腳本來循環訪問一個標籤併爲其分配一個onclick事件。事情是這樣的:

<script type="text/javascript"> 
window.onload = function() { 
    var a = document.getElementsByTagName("a"); 
    for(var i=0; i < a.length; i++){ 
    a[i].onclick = function() { alert("link clicked"); }; 
    } 
} 
</script> 

如果你想告訴服務器點擊:)這片段進入頭部分工作,你需要一個AJAX調用而不是警報。

另一種解決方法是監聽一般的window.onclick事件並跟蹤被點擊的對象,如果它是一個標籤,你可以執行你想要的任何代碼。

1

由於某些原因,如果您不能使用谷歌分析,請嘗試處理window.onclick事件,並從事件對象中讀取src元素。這會告訴你點擊事件觸發的對象。 (我相信點擊會觸發鍵盤和鼠標。只對IE寫

示例代碼。如果您需要其他瀏覽器,你可能有如果你最終使用jQuery修改代碼

document.onclick = function() 
{ 
    alert(window.event.srcElement.id); 
} 
1

(正如這裏推薦的海報之一),你可以很容易地攔截所有鏈接。例如,如果你想計算每個鏈接被點擊了多少次(按id索引),你可以像這樣的代碼的東西:

var clickCount = []; 
$('a').click(function() { clickCount[$(this).attr("id")]++; return true; }); 
1

除了谷歌Analytics(分析),您不妨看看ClickTale。它提供了網站覆蓋以及Google不支持的一些功能。