以下のコードスニペットは、email id
をチャットで提供するDrift chat
メソッドです。どのようにローカル変数、JavaScriptのグローバルスコープを与える
グローバル変数data_email
に格納して、特定の機能スコープ外のemail id (e.data.email)
にアクセスしようとしています。
私はdata_email
グローバル変数を作るためにthree
方法を試してみました - window
、let
、const
を。
window.drift.on("emailCapture", function(e) {
console.log("user identified as: " + e.data.email);
window.data_email = e.data.email;
// let data_email = e.data.email;
// const data_email = e.data.email;
ga('send', 'event', {
eventCategory: 'driftemail',
eventAction: 'driftemailCaptured',
});
});
console.log(data_email);
エラーが発生しました - Uncaught ReferenceError: data_email is not defined
。 誰かが私に回避策を提案してください、私は非常に感謝します。私の目標は、指定された機能の外でキャプチャされた電子メールにアクセスすることです。
値を取得しようとする前にイベントが発生しましたか? – Teemu
イベントを発生させた後、電子メールが関数 'console.log(" + e.data.email)でキャプチャされていますが、外部変数に同じエラーが発生しています –
イベントハンドラの前に宣言してからグローバルスコープを持ち、 'const'ではなく' let'または 'var'を使用します –