Javascript auslösen, wenn auf einen beliebigen Seitenlink geklickt wird, aber bevor der Seiteninhalt geladen wird

Hey :wave:

Aktuell gibt es in der Plugin-API keine Methode, die es ermöglicht, ein Skript vor einem Seitenübergang auszuführen, da dies meines Wissens nach bisher nicht vorgekommen ist.

Trotzdem kannst du die Aktion willTransition() in der Anwendungsroute nutzen.

In deinem Theme oder deiner Komponente würdest du etwas Ähnliches verwenden:

// Dies wird nach dem Übergang ausgeführt
api.onPageChange((url, title) => {
  console.log("nach dem Übergang");
});

// Dies wird direkt vor dem Übergang ausgeführt
api.modifyClass("route:application", {
  pluginId: "some-name",
  actions: {
    willTransition() {
      // Zuerst den Kerncode ausführen
      this._super(...arguments);
      // Dann einige Arbeiten erledigen
      console.log("vor dem Übergang");
      // Du kannst auch so etwas tun, um zu sehen, welche Daten dir zur Verfügung stehen,
      // wie zum Beispiel _router
      console.log(this)
    }
  }
});