こんにちは。
クライアントのフォーラムでユーザーのログインを追跡しようとしています。基本的に、ユーザーがフォーラムにログインするたびにJavaScript関数を実行するイベントリスナー(バニラJSで)を作成したいと思います。
リッスンできるDOMイベントはありますか?
Google Tag Managerでこれを実行しようとしています。
よろしくお願いします。
こんにちは。
クライアントのフォーラムでユーザーのログインを追跡しようとしています。基本的に、ユーザーがフォーラムにログインするたびにJavaScript関数を実行するイベントリスナー(バニラJSで)を作成したいと思います。
リッスンできるDOMイベントはありますか?
Google Tag Managerでこれを実行しようとしています。
よろしくお願いします。
テーマコンポーネントの common > header タブで、次のようなものを使用できます。
<script type="text/discourse-plugin" version="0.8">
const user = api.getCurrentUser();
// ユーザーはすでにログインしています。処理をスキップします
if (user) {
return;
}
// ここで作業を行います...
const clickCallback = (clickEvent) => {
console.log(clickEvent);
alert("ユーザーがログインしています");
// ..
// ..
};
api.onAppEvent("modal:body-shown", (event) => {
const loginButton = document.querySelector("#login-button");
if (loginButton) {
loginButton.addEventListener("click", clickCallback, { once: true });
}
});
</script>
clickCallback 関数に必要なコードを追加すると、モーダル内の Login ボタンをクリックしたときに実行されます。この ID は現在モバイルでは欠落していますが、こちら がマージされると修正されます。
ジョー、返信ありがとうございます!