diff options
Diffstat (limited to 'assets/js/index.js')
-rw-r--r-- | assets/js/index.js | 45 |
1 files changed, 26 insertions, 19 deletions
diff --git a/assets/js/index.js b/assets/js/index.js index 9d92d09..a0c608f 100644 --- a/assets/js/index.js +++ b/assets/js/index.js @@ -3,17 +3,17 @@ // This code was bundled using `deno bundle` and it's not recommended to edit it manually (function() { - const url = self.location.href.split("#")[0]; const cookiesDisabled = !navigator.cookieEnabled; - let settings = { - pager: {} - }; if (cookiesDisabled) { document.cookie = "disabled"; document.cookie.indexOf("disabled"); return console.log("Pager is disabled due to cookie restrictions."); } - self.addEventListener("DOMContentLoaded", function() { + const settings1 = { + pager: {} + }; + const url1 = self.location.href.split("#")[0]; + const scrollRestore = (settings, url)=>{ if (history.scrollRestoration) history.scrollRestoration = "manual"; if (localStorage["settings"]) { settings = JSON.parse(localStorage["settings"]); @@ -33,27 +33,34 @@ } settings["pager"][url] = self.pageYOffset; localStorage["settings"] = JSON.stringify(settings); - }); - self.addEventListener("scroll", function() { + }; + const scrollTrack = (settings, url)=>{ const currentPosition = self.pageYOffset; settings["pager"][url] = currentPosition; localStorage["settings"] = JSON.stringify(settings); - }); + }; + const backTrack = (back, up, event)=>{ + if (document.body.contains(up) && up.contains(event.target)) { + event.preventDefault(); + window.scrollTo(0, 0); + } + if (document.body.contains(back) && back.contains(event.target)) { + if (history.length < 2) return; + event.preventDefault(); + history.go(-1); + } + }; self.addEventListener("DOMContentLoaded", function() { - const up = document.getElementById("top"); - const back = document.getElementById("back"); + scrollRestore(settings1, url1); self.addEventListener("click", function(event) { - if (document.body.contains(up) && up.contains(event.target)) { - event.preventDefault(); - window.scrollTo(0, 0); - } - if (document.body.contains(back) && back.contains(event.target)) { - if (history.length < 2) return; - event.preventDefault(); - history.go(-1); - } + const up = document.getElementById("top"); + const back = document.getElementById("back"); + backTrack(back, up, event); }); }); + self.addEventListener("scroll", function() { + scrollTrack(settings1, url1); + }); })(); (function() { const options = "targetWindow,width=700,height=500,toolbar=no,location=no,status=no,menubar=no,scrollbars=yes,resizable=yes"; |