From 6d49d975598cd7f48e2b7347c2b83d8aac6a2f56 Mon Sep 17 00:00:00 2001
From: Aswanth <aswanth366@gmail.com>
Date: Sat, 24 May 2025 04:55:07 +0000
Subject: [PATCH] fix(analytics): streamline posthog script loading and event capturing (#1974)
---
docs/advanced/creating components.md | 18 +++++++++++++++---
1 files changed, 15 insertions(+), 3 deletions(-)
diff --git a/docs/advanced/creating components.md b/docs/advanced/creating components.md
index 27369ab..369405b 100644
--- a/docs/advanced/creating components.md
+++ b/docs/advanced/creating components.md
@@ -129,11 +129,11 @@
return <button id="btn">Click me</button>
}
- YourComponent.beforeDOM = `
+ YourComponent.beforeDOMLoaded = `
console.log("hello from before the page loads!")
`
- YourComponent.afterDOM = `
+ YourComponent.afterDOMLoaded = `
document.getElementById('btn').onclick = () => {
alert('button clicked!')
}
@@ -161,6 +161,18 @@
})
```
+You can also add the equivalent of a `beforeunload` event for [[SPA Routing]] via the `prenav` event.
+
+```ts
+document.addEventListener("prenav", () => {
+ // executed after an SPA navigation is triggered but
+ // before the page is replaced
+ // one usage pattern is to store things in sessionStorage
+ // in the prenav and then conditionally load then in the consequent
+ // nav
+})
+```
+
It is best practice to track any event handlers via `window.addCleanup` to prevent memory leaks.
This will get called on page navigation.
@@ -180,7 +192,7 @@
return <button id="btn">Click me</button>
}
- YourComponent.afterDOM = script
+ YourComponent.afterDOMLoaded = script
return YourComponent
}) satisfies QuartzComponentConstructor
```
--
Gitblit v1.10.0