2012-04-27 5 views
4

Google Analyticsスクリプトを使用してクリックをトラッキングする必要があるとします。 私が追跡イベントが解雇されたことを保証するための標準的なアプローチは、追跡キューに継続を渡すと、このように、クリックイベントハンドラからfalseを返すことであることを知っている:同期的に、Google Analyticsトラッキングリクエストが実行されたことを確認する方法

$('a').click(function() { 
    var url = $(this).attr('href'); 
    _gaq.push(['_trackEvent', smth]); 
    _gaq.push(function(){ document.location = url ;} 
    return false; 
}); 

私の挑戦は、私は、このリンクを開くようにしたいということです新しいタブ。
私の完璧な解決策はtarget = "_ blank"ですが、javascriptでそれを行うことはできません。
window.open(url、 '_ blank')はfirefox以外のすべてのブラウザで新しいウィンドウをポップアップ表示し、通常このウィンドウはデフォルトでブロックされます。
これは、がクリックハンドラからtrueを返す必要があることを意味します。

これは私が同期スクリプトをピクセルの追跡を要求するために何らかの方法で待つ必要があるという事実の背後にある私の理由です。 What is the JavaScript version of sleep()?の何らかの機能が私を助けることができますか?

ありがとうございました!

答えて

7

訪問者が新しいページに移動する前に追跡ピクセルが確実にオフになるようにする理由は、同じウィンドウ内の新しいページにつながるリンクの場合です。。言い換えれば、現在のウィンドウがアンロードされる前に、トラッキングコードがその処理を行うことを確認する必要があります。

リンクが新しいウィンドウを開く場合...新しいウィンドウを開く方法に関係なく...現在のウィンドウがアンロードされていないため、このようなことを心配する必要はありません。

+1

ハハ!私はばかだ、私は知っている:)多くのありがとう! – IlliakaillI

+0

私はまったく同じことをしました。私のリンクが曖昧ではないと思っていた。 +1 –

関連する問題