From f72d6e79f8e463bac3bb2d14cc8b6c3009d24e37 Mon Sep 17 00:00:00 2001 From: Oscar Najera Date: Sun, 9 Feb 2025 16:12:02 +0100 Subject: correctly instrument clicks --- webstats/stats.paren | 32 ++++++++++++++++---------------- 1 file changed, 16 insertions(+), 16 deletions(-) (limited to 'webstats/stats.paren') diff --git a/webstats/stats.paren b/webstats/stats.paren index 6733ff4..896dcec 100644 --- a/webstats/stats.paren +++ b/webstats/stats.paren @@ -9,25 +9,25 @@ :headers (create "Content-Type" "application/x-www-form-urlencoded") :body (new (-u-r-l-search-params data))))) +(defun register-click (event) + (when (or (= 1 (@ event which)) + (= 2 (@ event which))) + (chain event (prevent-default)) + (let ((link (getprop event 'target 'href))) + (chain + (register-visit (create :click link + :page (@ document location href))) + (finally (lambda () + (if (= 1 (@ event which)) + (setf (@ window location href) link) + (chain window (open link "_blank"))))))))) + (defun instrument-links () (chain document (query-selector-all "a") (for-each (lambda (link) - (setf (getprop link 'onclick) - (lambda (event) - (chain console (log event (@ event which))) - (chain event (prevent-default)) - (when (or (= 1 (@ event which)) - (= 2 (@ event which))) - (chain console (warn "in req")) - (chain - (register-visit (create :click (getprop link 'href) - :page (@ document location href))) - (finally (lambda () - (if (= 1 (@ event which)) - (setf (@ window location href) (getprop link 'href)) - (chain window (open (getprop link 'href) "_blank")))))))) - - ))))) + (setf (@ link onclick) #'register-click) + (setf (@ link onauxclick) #'register-click) + )))) (defun register-page-load () (let ((data (create :title (@ document title) -- cgit v1.2.3