0

アイテムのリストを含むページがあります。各アイテムには、各アイテムを印刷するための今すぐ印刷リンク ( a.printMe) があります。リストの最後には、a.printAllすべてのアイテムを印刷するためのすべて印刷リンク ( ) があります。

アイテムが印刷された回数を追跡したい。リンクをクリックするa.printAllと、すべてのアイテムの追跡値が Omniture に送信されます。個々のアイテムのa.printMehref 属性に追跡文字列を追加し、次の関数で追跡します。

$('a.printMe').click(function() {
   var value = $(this).attr('href');
   track(value);
});

$('a.printAll').click(function() {
   $('a.printMe').each(function() {
      this.click();
   }); // works in IE only. IE 6-8
}); 

function track(value) {
   var s = s_gi('account');
   s.prop10 = value;
   s.linkTrackVars = 'prop10';
   s.tl(true, 'o');
}

IE 6-8 では、 をクリックするとすべての値が正常に表示されa.printAllます。Firefox ではclickイベントはinput要素のみであることを理解しています。だから私は以下を実装しました:

$('a.printMe').each(function() {
   var trackingCode = $(this).attr('href').replace('#','');
   track(trackingCode);
});

ただし、最後のアイテムの値のみが Omniture に送信されます。誰かがこのようなものを実装して動作していますか?

4

2 に答える 2

1

3 番目の引数がない場合、関数は href を読み取ろうとしますが、これが失敗するため、意図したとおりに機能しません。

補足として、リンクごとに 1 つのヒットを送信するのではなく、「すべて」のカスタム リンク値を追加することをお勧めします。それだけ多くのサーバー呼び出しを使用すると、余分なトラフィックが発生するだけで (より適切に使用できます)、信頼できないデータになる可能性があります (一部の要求は失敗する可能性があります)。

于 2011-01-24T22:14:54.930 に答える
0

FIXED:最後のパラメーターとしてs.tl(true, 'o');含める必要があります。value

したがって、最終結果はs.tl(true, 'o', value);

于 2010-05-14T04:30:57.183 に答える