¿Cómo puedo activar mi script de estadísticas personalizado en cada "carga" de página?

Sabiendo que Discourse es una SPA y habiendo consultado algunos documentos sobre este tema, todavía no estoy seguro de cómo lograr esto:

  • Incluimos una biblioteca de JavaScript personalizada en el pie de página que interactúa con nuestra solución de estadísticas.
  • Queremos enriquecer las estadísticas activando eventos personalizados en cada “carga de página”, por ejemplo, cada vez que el usuario navega a una página “nueva”.

Pseudocódigo:

window.statistic = window.statistic || [];
window.statistic.push({
    action: "page.ready",
    data: {
        page: {
            path: "/c/new-to-this-forum-get-started-here/20/l/new",
            country: "WW",
            language: "en",
        }, user: {
            country: "DE",
            loginStatus: "logged_in"
        }
} });

¿Cómo y dónde en mi tema personalizado necesito colocar el código para lograr esto?

Gracias :slight_smile:

1 me gusta

Probablemente querrás usar onPageChange de nuestra API de plugins.

En un tema, querrás agregar algo como esto a javascripts/discourse/api-initializers/your-initializer.js

import { withPluginApi } from "discourse/lib/plugin-api";

export default {
  name: "custom-script-name",

  initialize() {
    withPluginApi("0.8.36", (api) => {
      api.onPageChange(() => {
        // script que quieres ejecutar al cambiar de página aquí
      });
    });
  },
};
3 Me gusta

¡Gracias! Eso funcionó.

¿Sabes también cómo puedo obtener el idioma de la interfaz de usuario de la configuración del usuario?

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.