登录事件监听器

您好,

我正在尝试跟踪我们客户论坛上的用户登录。基本上,我想创建一个事件侦听器(使用原生 JavaScript),在每次用户登录论坛时运行一个 JavaScript 函数。

是否有我可以监听的 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 函数中添加您需要的任何代码,当用户点击模态框中的“登录”按钮时,它就会触发。该 ID 目前在移动设备上缺失,但当 合并后将得到修复。

3 个赞

非常感谢你的回复,Joe!

1 个赞