(defpackage #:clog-user
(:use #:cl #:clog)
(:export start-tutorial))
(in-package :clog-user)
(defun on-new-window (body)
(set-on-click (create-button body :content "Set Local Key")
(lambda (obj)
(setf (storage-element (window body) :local "my-local-key")
(get-universal-time))
(reload (location body))))
(set-on-click (create-button body :content "Set Session Key")
(lambda (obj)
(setf (storage-element (window body) :session "my-session-key")
(get-universal-time))
(reload (location body))))
(set-on-storage (window body)
(lambda (obj data)
(create-div body :content
(format nil "
~A : ~A => ~A
"
(getf data ':key)
(getf data ':old-value)
(getf data ':value)))))
(create-div body :content (format nil
"
The value of local storage persists in browser cache even after browser closed. If you reset this page the session storage key will remain the same, but openning in another window or tab will be a new session but if came from a click from this window the session keys are copied first to the new window.