Disparar JavaScript ao clicar em qualquer link da página, mas antes do conteúdo da página carregar-se

Olá :wave:

Atualmente, não há nenhum método na Plugin-API que permita executar um script antes de uma transição de página, pois, até onde me lembro, isso nunca foi solicitado anteriormente.

Dito isso, você pode aproveitar a ação willTransition() na rota de aplicação (application route):

No seu tema ou componente, você usaria algo assim:

// isso é executado após a transição
api.onPageChange((url, title) => {
  console.log("after transition");
});

// isso é executado imediatamente antes da transição
api.modifyClass("route:application", {
  pluginId: "some-name",
  actions: {
    willTransition() {
      // execute o código principal primeiro
      this._super(...arguments);
      // depois faça algum trabalho
      console.log("before transition");
      // você também pode fazer algo assim para ver quais dados tem disponíveis
      // para trabalhar, como _router
      console.log(this)
    }
  }
});