fix: fix duplicate link click tracking
This commit is contained in:
		@@ -160,6 +160,29 @@
 | 
				
			|||||||
          )
 | 
					          )
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
      {{end}}
 | 
					      {{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) => {
 | 
					    const init = (doc = document) => {
 | 
				
			||||||
@@ -183,28 +206,6 @@
 | 
				
			|||||||
        throwOnError : false
 | 
					        throwOnError : false
 | 
				
			||||||
      });
 | 
					      });
 | 
				
			||||||
      {{end}}
 | 
					      {{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>
 | 
					  </script>
 | 
				
			||||||
  {{if $data.enableSPA | default $.Site.Data.config.enableSPA}}
 | 
					  {{if $data.enableSPA | default $.Site.Data.config.enableSPA}}
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,6 +1,6 @@
 | 
				
			|||||||
<header>
 | 
					<header>
 | 
				
			||||||
    {{ $config := cond (eq $.Site.Language.Lang "en") "config" (printf "config.%s" $.Site.Language.Lang) }}
 | 
					    {{ $config := cond (eq $.Site.Language.Lang "en") "config" (printf "config.%s" $.Site.Language.Lang) }}
 | 
				
			||||||
    <h1 id="page-title"><a href="{{ "" | absLangURL }}">{{ ( index $.Site.Data $config ).page_title | default $.Site.Data.config.page_title }}</a></h1>
 | 
					    <h1 id="page-title"><a class="root-title" href="{{ "" | absLangURL }}">{{ ( index $.Site.Data $config ).page_title | default $.Site.Data.config.page_title }}</a></h1>
 | 
				
			||||||
    <div class="spacer"></div>
 | 
					    <div class="spacer"></div>
 | 
				
			||||||
    <div id="search-icon">
 | 
					    <div id="search-icon">
 | 
				
			||||||
      <p>{{ i18n "search" }}</p>
 | 
					      <p>{{ i18n "search" }}</p>
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user