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

**URL:** <https://meta.discourse.org/t/trigger-javascript-on-clicking-any-page-link-but-before-the-page-content-loads/167970>\
**Category:** Development\
**Created:** [22. Oktober 2020 um 15:13 UTC](https://meta.discourse.org/t/trigger-javascript-on-clicking-any-page-link-but-before-the-page-content-loads/167970 "2020-10-22T15:13:01Z")\
**Posts on this page:** 1\
**Showing post:** 5

<div class="post-metadata">

**Author:** ![david](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/david/32/157490_2.png) [@david](https://meta.discourse.org/u/david)\
**Post date:** [4. November 2024 um 12:04 UTC](https://meta.discourse.org/t/trigger-javascript-on-clicking-any-page-link-but-before-the-page-content-loads/167970/5 "2024-11-04T12:04:28Z")

</div>

Ein paar Gründe, warum das möglicherweise nicht funktioniert:

1. Aktionen in einem Hash zu platzieren, ist eine alte Syntax, die wir in Discourse nicht mehr verwenden. Theoretisch sollte es funktionieren, aber die Interoperabilität mit der neuen Syntax ist möglicherweise nicht perfekt. Der moderne Weg wäre

2. Ich glaube nicht, dass `willTransition` in allen Situationen auf der Anwendungsroute garantiert ausgelöst wird. (z. B. wenn eine untergeordnete Route eine `willTransition`-Aktion hat, wird sie nicht unbedingt nach oben weitergegeben.)

Ich würde empfehlen, stattdessen die Ereignisse im Ember Router Service zu verwenden: [RouterService | 5.12.0 | Ember API Documentation](https://api.emberjs.com/ember/5.12/classes/RouterService/events)  
z. B. etwas wie

```js
const router = api.container.lookup("service:router");
router.on("routeWillChange", () => {
  console.log("route will change ausgelöst");
});

```

---

_[View the full topic](https://meta.discourse.org/t/trigger-javascript-on-clicking-any-page-link-but-before-the-page-content-loads/167970)._
