0

これが私がやろうと思っていることです。Mixpanel に送信したいデータを含むリンクとボタンで data-track 属性を使用する...次のようなもの:

クリックして

次に、どういうわけかjQueryがデータトラックを含むクリックにバインドします。または、すべてのクリックにバインドし、アイテムにデータトラック属性が含まれている場合は、値を取得して mixpanel に送信します。

mpq.track("Open slideshow", {'show': 'Xmas'}, function(){ myfunction() });

可能?良いアイデア?悪いアイデア?大量のコードを必要とせずに実装する方法についてのアイデアはありますか?

ありがとう

4

3 に答える 3

1

このセレクターを試してください$('.YourClass[data-track]')

于 2011-09-01T11:21:15.173 に答える
1

復活して申し訳ありませんが、これは(テストされていない)解決策です。プロパティを使用してイベント名を指定し、data-trackプロパティの JSON 文字列を使用して追加のイベント属性を指定できますdata-track-attrs。javascript は、プロパティを持つ任意の要素のクリック ハンドラーにバインドしdata-track、イベントを Mixpanel にディスパッチします。ネイティブの JSON デコーダーが利用できない場合、サイレントに失敗します。

<div class="header">
  <a href="#" data-track="Login" data-track-attrs='{ "where": "header" }'>login</a>
</div>

<a href="#" data-track="Open slideshow" data-track-attrs="{ show: 'Xmas' }">open xmas</a>

<div class="footer">
  <a href="#" data-track="Login" data-track-attrs='{ "where": "footer" }'>login</a>
</div>

<script type="text/javascript">
  $(function() {
    $("body").on('click', '[data-track]', function(evt) {
      var event_name = $(this).data('track');
      var event_attrs;
      try {
        event_attrs = JSON.parse($(this).data('track-attrs'));
      } catch(e) {}

      mixpanel.track(event_name, event_attrs);

    });
  });
于 2012-03-27T20:20:00.103 に答える
-1

古い質問に対する非常に遅い回答ですが、これはまさにそれを行う(さらに多くの)jQueryプラグインです: http://os.lucidfusion.com/datatrack/

于 2015-08-02T07:00:42.817 に答える