aboutsummaryrefslogtreecommitdiffstats
path: root/webstats/stats.paren
diff options
context:
space:
mode:
Diffstat (limited to 'webstats/stats.paren')
-rw-r--r--webstats/stats.paren32
1 files changed, 16 insertions, 16 deletions
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)