這是一個討厭的問題。從JavaScript觸發目標= _blank鏈接
我有一個外部鏈接。
<a href="http://www.example.com" target="_blank">
現在我想在每次點擊鏈接時跟蹤Google AdWords轉化。
爲此,我添加了一個加載Google圖像的click
事件。圖像計算轉換。爲了確保在用戶離開之前加載圖像,我使用圖像的load
事件繼續處理原始鏈接的目標。
$("#linkname").click(function() {
var element = document.createElement("img");
element.onload = function() { ..... };
element.setAttribute("src", "http://www.googleadservices.com/....");
document.body.appendChild(element);
});
這將工作正常使用location.href
。但是,它不適用於target="blank"
鏈接。 我很困惑要打開一個新窗口,需要將哪些內容放入onload函數中。
我不能使用
window.open
因爲它會通過彈出窗口攔截捕獲(因爲它位於圖像的onload
事件,它類似於一個無關的鏈接是一個純粹的程序化調用)另外,在沒有任何選項的情況下調用window.open並不會在Google Chrome中給我任何控制權。我不能讓
click
事件繼續它的正常過程,因爲我必須等待圖像加載,這是一個異步操作!
我需要什麼,本質上,是打開一個target="_blank"
鏈接程序,一些可能是不可能的,因爲它可以通過彈出阻滯劑斷路器被規避的方式。
或者,我需要一種方法來可靠地計數點擊,同時讓鏈接的原始click
事件繼續按照它的設想。
有沒有人有想法該怎麼辦?
由於鏈接在新窗口中打開,因此您無需等待圖像加載。讓圖像在當前窗口中加載(按原樣完成)並讓用戶正常看到新窗口。在加載圖像之前用戶可能不可能關閉窗口,因此計數不會受到干擾。 – 2011-03-12 01:54:39
@amit是我剛纔的**精確**實現。總的情況是過度複雜:)隨意添加,作爲答案。 – 2011-03-12 01:55:55
有時我們需要第二雙眼睛:) – 2011-03-12 01:58:44