2010-11-06 11 views
1

比方說,我有一個嵌入代碼,其中包含向特定DOM元素添加事件的腳本。這些通常是鏈接或按鈕。一旦事件被調用,我做一個Ajax調用來記錄該點擊事件。嵌入代碼跟蹤對某些DOM元素的點擊(問題出現在重定向的鏈接/按鈕上)

問題出現在重定向的鏈接中。因此,添加一個onclick事件到

<a href="http://google.com">link</a> 

可能無法正常工作,因爲之前通過Ajax調用記錄事件的頁面將被重定向。

很明顯像谷歌分析,omniture網站時,他們跟蹤轉換。有沒有什麼好方法可以解決這個問題?

此外,假設這一切都與嵌入代碼(就像谷歌分析) - 所以我們不能修改HTML代碼太多。

如果ajax調用失敗,頁面仍然需要重定向。

回答

2

劫持點擊,防止默認情況下,然後在回調觸發重定向。

var link =''; ()函數(); link = $(this).attr(「href」); $ .ajax(.... function(){ window.location = link; }) });

+0

是的,這可能是我們最終要做的 - 但也需要檢測href是javascript:function()還是javascript:void(0)。只是想知道是否有更好的方法。嵌入代碼將在我們用戶的網站上,我不喜歡弄亂其他網站的HTML。 – rksprst 2010-11-06 01:27:08

+1

這是一個老問題,但爲了新讀者的利益,您理論上可以測試鏈接是否以「javascript:」開頭,然後運行eval()而不是分配window.location – soulkphp 2012-10-14 10:18:13