登録フォームにMixpanel Peopleのトラッキングを設定しようとしていますが、自分のフォームにMixpanelのdistinct_id
を渡すことができません。Mixpanel Javascript - オブジェクトを返すdistinct_id変数
これはMixpanel(documentation)からユーザーのdistinct_idを取得するスクリプトです:
mixpanel.init("MY_TOKEN", {
loaded: function(mixpanel) {
distinct_id = mixpanel.get_distinct_id();
}
});
私は<input type="hidden" name="distinct_id" id="distinct_id" value="" />
に
$(document).ready(function(){
$("#distinct_id").val(distinct_id);
});
と私の登録フォームの隠し入力に渡ししようとすると、 Chrome Inspectorのソースコードの結果の行は、次のようになります。<input type="hidden" name="distinct_id" id="distinct_id" value="[object HTMLInputElement]">
ただし、 Chromeコンソールでconsole.log(distinct_id);
を実行すると、IDが出力されます。
私はjavascriptのはかなりゴミであることを認めるよ、私はここで何かを明らかに不足していることができた...私はそうのようなJSON.stringify
機能でそれを解析しようとしました:
$(document).ready(function(){
distinct_id = JSON.stringify(distinct_id, null, 4);
$("#distinct_id").val(distinct_id);
});
が、それだけで生産{}
の形式で値として...
どのような候補がありますか?
:あなたが唯一の負荷にmixpanelを必要とするようさらに
、あなたは、完全に
は、ここでの結果のコードは次のようになります。最初のコードブロックに見積もりがありません。 – trincot$(document).ready(function() {});
をスキップして、ちょうどこの操作を行うことができます参照としてありがとう、ありがとう。この質問のためにMixpanelトークンを削除したときにそれを削除していなければなりません – tristanojbacon
'$(document) 'を動かす方がいいのであれば' ready'コールバックが 'pixpanel.init ... loaded'コールバックの前にトリガするかもしれません。 'init .... loaded'コールバック内の' ready'ブロック*内部にあります。 – trincot