diff options
author | tdro <tdro@noreply.example.com> | 2023-09-16 04:50:54 -0400 |
---|---|---|
committer | tdro <tdro@noreply.example.com> | 2023-09-16 04:50:54 -0400 |
commit | 4bbbed1adcd354719eda137ac4a3c71da23e929d (patch) | |
tree | 2a131bbfdf12db16af91e084e027a415f1534de4 /assets/js | |
parent | 344acdcd6245496feb440cd362b8aa9fdb8ad776 (diff) | |
download | canory-4bbbed1adcd354719eda137ac4a3c71da23e929d.tar.gz canory-4bbbed1adcd354719eda137ac4a3c71da23e929d.tar.bz2 canory-4bbbed1adcd354719eda137ac4a3c71da23e929d.zip |
static/js/pager: Cover click and touchstart
DOMContentLoaded fragment
Diffstat (limited to 'assets/js')
-rw-r--r-- | assets/js/index.js | 18 |
1 files changed, 11 insertions, 7 deletions
diff --git a/assets/js/index.js b/assets/js/index.js index 8329e09..9895067 100644 --- a/assets/js/index.js +++ b/assets/js/index.js @@ -12,16 +12,14 @@ const url = self.location.href.split("#")[0].split("?")[0]; const scrollRestore = function(url) { if (history.scrollRestoration) history.scrollRestoration = "manual"; - if (localStorage[key]) { - settings = JSON.parse(localStorage[key]); - } + if (localStorage[key]) settings = JSON.parse(localStorage[key]); const fragment = document.getElementById(location.hash.slice(1)); const fragmentInURL = self.location.hash.length > 0; if (fragmentInURL && document.body.contains(fragment)) { settings["pager"][url] = self.pageYOffset; localStorage[key] = JSON.stringify(settings); fragment.scrollIntoView(); - self.addEventListener("load", function() { + self.addEventListener("DOMContentLoaded", function() { fragment.scrollIntoView(); }); return; @@ -57,12 +55,18 @@ backTrack(back, up, event); }); }); - self.addEventListener("scroll", function() { - scrollTrack(url); - }); self.addEventListener("hashchange", function() { scrollRestore(url); }); + [ + "click", + "touchstart", + "scroll" + ].forEach(function(event) { + self.addEventListener(event, function(event) { + scrollTrack(url); + }); + }); })(); (function() { function check(url, method, callback) { |