From 7df2bb6f5e681ce3329e4faf6ac6cbcda7a3f14e Mon Sep 17 00:00:00 2001
From: Jacky Zhao <j.zhao2k19@gmail.com>
Date: Sun, 05 Feb 2023 20:01:49 +0000
Subject: [PATCH] fix: fix duplicate link click tracking
---
layouts/partials/head.html | 45 +++++++++++++++++++++++----------------------
1 files changed, 23 insertions(+), 22 deletions(-)
diff --git a/layouts/partials/head.html b/layouts/partials/head.html
index 5ea0aa3..a608ba7 100644
--- a/layouts/partials/head.html
+++ b/layouts/partials/head.html
@@ -160,6 +160,29 @@
)
}
{{end}}
+
+ // analytics
+ function clickHandler(evt) {
+ const target = evt.target
+ const classNames = target.className.split(" ")
+ const broken = classNames.includes("broken")
+ const internal = classNames.includes("internal-link")
+ plausible("Link Click", {
+ props: {
+ href: target.href,
+ broken,
+ internal,
+ graph: false,
+ }
+ })
+ }
+
+ const links = document.querySelectorAll("a")
+ for (link of links) {
+ if (link.className.includes("root-title")) {
+ link.addEventListener('click', clickHandler, {once: true})
+ }
+ }
}
const init = (doc = document) => {
@@ -183,28 +206,6 @@
throwOnError : false
});
{{end}}
-
- // analytics
- function clickHandler(evt) {
- const target = evt.target
- const classNames = target.className.split(" ")
- const broken = classNames.includes("broken")
- const internal = classNames.includes("internal-link")
- plausible("Link Click", {
- props: {
- href: target.href,
- broken,
- internal,
- graph: false,
- }
- })
- }
-
- const links = document.querySelectorAll("a")
- for (link of links) {
- link.addEventListener('click', clickHandler)
- link.addEventListener('auxclick', clickHandler)
- }
};
</script>
{{if $data.enableSPA | default $.Site.Data.config.enableSPA}}
--
Gitblit v1.10.0