2011-10-26 72 views
0

所以,我知道類似的問題之前已經被問過,但我認爲這種情況是完全不同的。JavaScript window.open彈出Google Analytics API的錯誤

我正在構建一個廣告管理系統,以節省我使用Google Analytics API跟蹤點擊次數的時間。我使用的JS代碼是標準之一:

function recordOutboundLink(link, category, action) { 
    _gat._getTrackerByName()._trackEvent(category, action); 
    setTimeout('window.open("' + link.href + '")', 100); 
} 

並將OnClick代碼是這樣的:

<a href="#advertUrl" target="_blank" rel="nofollow" onClick="recordOutboundLink(this, 'Advert', 'Title of ad');return false;"> 

然而,當用戶點擊一個鏈接,用戶臨危公告稱,彈出窗口已被成功阻止。現在,只有在某些情況下才會發生這種情況:

用戶訪問頁面 - 他/她點擊一個廣告,並顯示阻止的彈出通知。但是,用戶是否選擇繼續阻止彈出窗口並不重要。

如果用戶再次訪問同一頁面並點擊同一個廣告,則什麼也不會發生。但是,如果他/她點擊一個新的,同樣的模式發生...

我只能在Chrome(版本14和15測試版,Mac和Win版本)中看到這種確切模式。還在Opera中測試過;沒有阻止的彈出窗口。如果我錯了,請糾正我 - 如果window.open觸發onclick事件,瀏覽器甚至不應該阻止它,對嗎?

需要一些嚴重的幫助來解決這個問題。必須在新窗口中打開廣告。

回答

0

點擊不會觸發彈出窗口。 setTimeout是。沒有理由在這裏使用超時,因爲調用谷歌會發生。