Déclencher JavaScript lors du clic sur n'importe quel lien de la page, mais avant le chargement du contenu de la page

Salut :wave:

Actuellement, aucune méthode dans l’API des plugins ne permet d’exécuter un script avant une transition de page, car cela ne s’est pas présenté auparavant, du moins à ma connaissance.

Cela dit, vous pouvez utiliser l’action willTransition() dans la route de l’application :

Vous pourriez utiliser quelque chose comme ceci dans votre thème ou composant :

// Ceci s'exécute après la transition
api.onPageChange((url, title) => {
  console.log("après la transition");
});

// Ceci s'exécute juste avant la transition
api.modifyClass("route:application", {
  pluginId: "some-name",
  actions: {
    willTransition() {
      // exécuter d'abord le code principal
      this._super(...arguments);
      // puis effectuer certaines tâches
      console.log("avant la transition");
      // vous pouvez aussi faire quelque chose comme ceci pour voir quelles données vous avez
      // à traiter, comme _router
      console.log(this)
    }
  }
});