Come posso attivare il mio script personalizzato per le statistiche ad ogni "load" di pagina?

Sapendo che Discourse è una SPA e avendo consultato alcuni documenti sull’argomento, non sono ancora sicuro di come raggiungere questo obiettivo:

  • includiamo una libreria js personalizzata nel piè di pagina che interagisce con la nostra soluzione di statistiche
  • vogliamo arricchire le statistiche attivando eventi personalizzati ad ogni “caricamento pagina”, ad esempio ogni volta che l’utente naviga verso una “nuova” pagina

Codice fittizio:

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"
        }
} });

Come e dove nel mio tema personalizzato devo inserire il codice per raggiungere questo obiettivo?

Grazie :slight_smile:

1 Mi Piace

Probabilmente vorrai usare onPageChange dalla nostra API dei plugin.

In un tema, vorresti aggiungere qualcosa di simile 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 che vuoi eseguire al cambio pagina qui
      });
    });
  },
};
3 Mi Piace

Grazie! Ha funzionato.

Sai anche per caso come posso ottenere la lingua dell’interfaccia utente dalle impostazioni dell’utente?

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